zoukankan      html  css  js  c++  java
  • Android开发过程中git、repo、adb、grep等指令的使用

    chown 

         是一条在Unix系统中用于设置文件所有者和文件关联组的命令。 需要超级用户的权限才能执行此命令。只有超级用户和属于组的文件所有者才能变更文件关联组。非特权用户(非超级用户)如需要设置关联组可能需要使用chgrp命令。

        # chown rob:developers strace.log

            把strace.log的所有者设置为rob,文件的关联组设置为developers。 

     
    find指令的使用
        其语法为:find [起始目录] 寻找条件 操作
        find /etc -name a.txt  在/etc目录及其子目录里面查找a.txt文件
        find -name a.txt  在当前目录及其子目录里面查找a.txt文件(不添加目录则对应当前目录)
        find -name april* 在当前目录下查找以april开始的文件
        find /home -mmin +60 在/home下查60分钟前改动过的文件
     
     
    grep指令的使用
        grep -r -n "要查找的东西" *  在当前目录及子目录下面查找
            -c:只输出匹配行的计数。

            -i:不区分大 小写(只适用于单字符)。
            -h:查询多文件时不显示文件名。
            -l:查询多文件时只输出包含匹配字符的文件名。
            -n:显示匹配行及 行号。
            -s:不显示不存在或无匹配文本的错误信息。
            -v:显示不包含匹配文本的所有行。

     
    adb指令的使用
      安装apk
         1.adb remount
         2.adb push  "你要安装的apk全路径" system/app
        或
         1.adb install -r "你要安装的apk全路径"
     
    git指令
    git配置文件
        /etc/gitconfig: 所有用户普遍适用的、系统的,git config --system选项
        ~/.gitconfig: 只适用该用户, git config --global选项
        .git/config当前项目.git目录中,只适用当前项目, .git/config 
        每一层都覆盖上一层,也就是优先级  .gitconfig  <  ~/.gitconfig  <  /etc/gitconfig  
     
    下载代码
        ssh git@172.16.98.152 列出代码库
        git clone git@172.16.98.152:PXA968  FWS810(重命名为FWS810)下载代码
     
    使用Gerrit时代码下载
        ssh gerrit gerrit ls-projects 列出有权限访问的所有版本库
       git clone gerrit:/MSM8x25-ICS-AP  下载代码MSM8x25-ICS-AP
        如果使用git clone git@172.16.98.152:MSM8x25-ICS-AP下载代码 可以使用git config remote.origin.url gerrit:/MSM8x25-ICS-AP 来更改服务器
        git push origin HEAD:refs/for/项目名称   提交代码
     
    切换分支
        git branch -a   查看这个版本的分支  
        git checkout -b FWS920_b1 origin/FWS920_b1    创建一个新的分支并切换到新的分支上面
        git checkout FWS920 切换到FWS920这个分支下面
        git branch -D FWS920 删除FWS920这个分支(不能在该分支下面进行该操作)
     
    提交代码流程
        git status   查看修改状态
        git add .        提交新添加的所有文件
        git commit      代码提交到本地
        git pull --rebase        更新本地分支
        git push         提交代码
     
    还原修改
        git checkout -- 文件整个路径    还原文件 
        git reset --hard   还原所有修改
        git reset --soft HEAD^  提交commit发现有问题之后还原到未修改之前的状态
     
    删除未被追踪的文件
        git clean -df 删除文件和目录(删除git status命令中所有untracked file,包括文件和目录)   
         -f   删除文件,
         -df  删除文件和目录
        git clean -dn  这个命令可以看看有哪此文件和目录会被删
         -n   显示将要删除的文件和目录
         
     
    保存修改
        git stash           保存当前修改
        git stash list      显示暂存列表
        git stash apply     恢复暂存列表最上面的一个
        git stash apply stash@2   恢复指定暂存
        git stash clear     清除stash
        
        
    修改配置    
        git config --global core.editor vim  修改默认文本编辑器
        git config --global commit.template $HOME/.gitmessage.txt  修改提交模板
        git config --global user.name "John Doe"   配置用户名
        git config --global user.email johndoe@example.com  配置邮件地址
     
    对比文件
        git difftool "文件名"   和服务器的该文件进行对比(文件名要路径)
        git difftool HEAD   直接和服务器代码进行对比(所有代码)
     
    其它
        gedit .git/info/exclude  查看修改状态时的过滤文件
        gitk   打开版本控制界面
        git log  查看版本最新状况(谁提交的)
        
    repo指令
    切换分支
        repo init -m i800v-2050.xml((如果是新建目录,repo init -u gitserver:manifests.git -m i800JB-2050.xml))
        repo sync -j8
        repo start i800v --all
     
        repo list 可以查看repo所管理的projects
        repo status 可以查看本地修改的文件
        repo branch 可以查看每一个project所有的分支名称
        repo start 创建本地的工作分支,比如:repo start 分支名 --all为所有project创建分支,repo start 分支名 kernel 为kernel project创建分支名
        repo abandon 删除分支,用法和start差不多。比如:已经为kernel project创建了i800JB分支,用repo abandon i800JB kernel 命令,可以删除kernel project中的i800JB分支。如果执行repo abandon i800JB --all就会删除所有project上面名字为i800JB的分支。执行完repo abandon后,project会工作在no branch状态,还需手工start一个分支。
        repo forall 为所有project执行命令。比如:repo forall -c git tag XXXX_XXX_V1.0_SH 代表为每一个project加入tag
        repo init 初始化repo库,-u 代表url,-b代表branch,-m 代表manifest文件。比如:repo init -u gitserver:manifests.git -m i800JB.xml 代表的是从gitserver服务器上的manifests.git库中,选择i800JB.xml作为manifest文件。
    这里没有-b,是由于目前所建立的manifests.git库中,仅有一个master分支。没有-b选项,默认是从manifests.git库的HEAD指针处取得manifest文件
    如果没有-m选项,则代表使用的默认的manifest文件,默认的文件名称为default.xml
        repo overview 查看project里面没有提交的记录。
        repo upload 的时候,请用repo upload --re=REVIEW人员(比如zan.wang),系统会自动发邮件告知REVIEW人员,
     
        可以从device/qcom/msm8625/msm8625.mk文件里面看出当前的Project是哪个项目 
        可以在device/qcom/msm8625/这个目录下面使用git checkout -b H901 phicomm/H901创建分支,比使用repo start H901 --all更容易理解
     
    gcc指令
         当你不用任何选项编译一个程序时, GCC 将会建立(假定编译成功)一个名为 a.out 的可执行文件. 例如, 下面的命令将在当前目录下产生一个叫 a.out 的文件: 
        gcc test.c
        ./a.out
        你能用 -o 编译选项来为将产生的可执行文件指定一个文件名来代替 a.out. 例如, 将一个叫 count.c 的 C 程序编译为名叫 count 的可执行文件, 你将输入下面的命令: 
        gcc -o count count.c 
        ./count
      
    gdb 
        gcc -g -o tst test.c
            编译生成执行文件
        gdb tst
            启动GDB
        (gdb) l 
            <----- l命令相当于list,从第一行开始例出原码。
        enter键
            直接回车表示,重复上一次命令
            (gdb) break 16 <-------------------- 设置断点,在源程序第16行处。 
            (gdb) break func <-------------------- 设置断点,在函数func()入口处。 
            (gdb) info break <-------------------- 查看断点信息。
            (gdb) r <--------------------- 运行程序,run命令简写 ,在断点处停住
            (gdb) n <--------------------- 单条语句执行,next命令简写。
            (gdb) s <--------------------- 单条语句执行如果遇到函数则进入函数体内,step命令简写。
            (gdb) c <--------------------- 继续运行程序,continue命令简写。 
            (gdb) p i <--------------------- 打印变量i的值,print命令简写。
            (gdb) finish <--------------------- 退出函数。  
            (gdb) q <--------------------- 退出gdb。 
     
    (gdb) help

    List of classes of commands: 
    aliases -- Aliases of other commands 
    breakpoints -- Making program stop at certain points 
    data -- Examining data 
    files -- Specifying and examining files 
    internals -- Maintenance commands 
    obscure -- Obscure features 
    running -- Running the program 
    stack -- Examining the stack 
    status -- Status inquiries 
    support -- Support facilities 
    tracepoints -- Tracing of program execution without stopping the program 
    user-defined -- User-defined commands 
    Type "help" followed by a class name for a list of commands in that class. 
    Type "help" followed by command name for full documentation. 
    Command name abbreviations are allowed if unambiguous. 

        
  • 相关阅读:
    复杂数据权限设计方案
    HTTP 错误 500.24
    C# 树形结构tree拼接
    MVC View返回list列表
    springboot使用validation 插件做数据校验
    java导出excel,多表头合并
    微信小程序表单验证
    springboot跑定时任务
    Springboot 上传excel并解析文件内容
    jmeter基本使用
  • 原文地址:https://www.cnblogs.com/adm1989/p/3284321.html
Copyright © 2011-2022 走看看