linux使用--3.git使用

一. git 常用
1. git 常用的命令
  1. 1. 查看log
  2.         加上--name-staus可以看到改动的文件
  3.         git log --name-status
  4.     1.1 查看改动的内容
  5.         git diff
  6.         git diff <filenam> ;;单独查看某个文件的内容改变
  7.     1.2 查看命令历史
  8.         git reflog
  9.         刚开始的id也可以用
  10.     1.3 查看某一个文件的详细提交记录,已经都曾经都修改过那些地方
  11.         git log -p filename 
  12.         
  13. 2. 切换到某个branch
  14.     git checkout -b tmp
  15.     git checkout obox
  16. 3. 把新增文件添加到提交
  17.     git add
  18. 4. 取回
  19. 4.1 取回某个文件
  20.     git checkout -- file ;;当修改了file,感觉不对,同步一下服务器的file
  21.     git reset HEAD file ;;当修改了file,并git add后要放弃修改,取消暂存区,然后再checkout
  22.     分两步,第一步用命令git reset HEAD file,抵消git add,然后再git checkout --file
  23. 4.2 rm file的恢复
  24.    git checkout -- file
  25. 4.3 git rm file的恢复
  26.     git reset HEAD ;;需要加上这个
  27.     git checkout -- file
  28. 5.
  29. git clone时一定加-b,切换到某个分支
  30. git clone ssh://W@gerrit.ireadygo.com:29418/platform/packages/apps/Bluetooth -b much-tegra-kk-mr2
  31.     
  32. 6. 回退到某个版本
  33.   git reset --hard af5928ed51070dbd681c3e387b382c1b6e78cda9
  34.   git reset --mixed af5928ed51070dbd681c3e387b382c1b6e78cda9
  35. 其中hard后面的数字是通过: git log中的 commit的id
  36. 7. 取回某个版本
  37.   git fetch ssh://W@gerrit.ireadygo.com:29418/platform/frameworks/base refs/changes/58/5158/&& git cherry-pick FETCH_HEAD

  38. 8. 切换分支
  39.    git checkout obox


  40. 9. git add的取消
  41.    git add 多加了文件,如何取消
  42.    git rm --cached ../../sound/soc/tegra/Makefile

  43. 10.  delete的文件需要git rm
       git rm

  44. 11. 使用vi
  45. $sudo git config --system core.editor vim
  46. $cat /etc/gitconfig
  47. [core] 
  48.         editor = vim
2.一般情况下这些就够了
  1. git reset HEAD
  2. git commit --amend

  3. git status
  4. git diff
  5. git add ./Generic.kcm
  6. 或者
  7. git add ./
  8. git commit -"libstagefright ext: add dts and ape Supported config, add ape extradata support"
  9. git push msp obox:refs/for/refs/heads/much-tegra-kk-mr2

3. 提交代码后,在未提交的代码上进行修改
  1. a.先切找到另一个分支tmp
  2. git checkout -b tmp

  3. b.在另一个分支tmp
  4. git reset --hard d50a360f2023aa4e07004c01a8eebf1406eb82b8

  5. c.把要还原的文件复制一份
  6. cp media_codecs.xml ~/

  7. d.切换回原先的分支
  8. git checkout obox

  9. e.把原先的文件复制回来
  10.  cp ~/media_codecs.xml .
  11. f. 再进行修改就ok了

4. repo
4.1 用repo diff生成补丁文件并patch
  1. repo的help有如下说明:
  2.   The -option causes 'repo diff' to generate diff output with file paths
  3.   relative to the repository root, so the output can be applied
  4.   to the Unix 'patch' command.
  5. repo diff 带上-u参数可以生成相对于android源码根目录的路径,这样就可以直接用patch打补丁了

  6. cong@msi:/work/mtk$ repo diff -> 1.txt           //-u参数生成补丁文件
  7. cong@msi:/work/mtk2$ patch -p1 < ./1.txt           //patch打补丁
  8. patching file kernel/drivers/i2c/i2c-smbus.c          //-u生成的补丁文件是对整个android源码目录者有效的
  9. patching file kernel/include/linux/printk.h
  10. patching file system/core/include/cutils/klog.h
5. 小技巧
  1. 将tab转为4个空格
  2. sed 's/\t/ /g' ./file > file_new

  3. 在vi中将tab转为4个空格
  4. :1,$s/\t/ /g
6. 下载代码
  1. a. repo 下载项目
  2. repo init -u ssh://W@gerrit.***.com:12345/platform/muchmanifest -b test

  3. bgit下载
  4. git clone ssh://W@gerrit.ireadygo.com:29418/platform/testproject -b test
  5. Projects-->List搜项目名
  6. -b 的参数是在projects-->Branches中的Branch Name

  7. 上传:
  8. git push origin much-kk-mr1-mp6:refs/for/refs/heads/much-kk-mr1-mp6



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值