git 用法

git config remote.gerrit.url ssh://192.168.1.101:29418/bsp/hardware/intel/libcamera.git   //repo 里新加的工程,新添加libcamera工程。

git config remote.gerrit.push HEAD:refs/for/honeycomb/project                                 //push 整个工程目录到project中。

git config remote.gerrit.receivepack "git receive-pack --reviewer xxx@xxx.com --reviewer xxxx@xxxx.com --reviewer xxxxx@xxxxx.com --reviewer xxxxxxx@xxxxxxx.com" //给人review, xxx@xxx.com就是reviewer的邮箱。

git push gerrit HEAD:refs/heads/honeycomb/ada6  //直接提交到gerrit上,省略给人review。

git push gerrit   //提交到gerrit上

如果review完了,patch需要修改:

修改***.c文件,提交如下:

git add ***.c   //修改***.c后,再把***.c提交上去
git commit --amend   //修改commit message
git push gerrit  //把修改的东西,push到gerrit上。

有些文件,如xx.bin文件,会被.gitignore 忽略掉,需要

git add xx.bin -f      //这样就能把忽略掉的文件给添加上

这样就修改结束,提交完成了。

git fetch ssh://xxha@192.168.1.101:29418/aosp/platform/bionic refs/changes/22/322/5 && git checkout FETCH_HEAD  //从gerrit上取头一个patch。

git cheery-pick  FETCH_HEAD    //把头个patch提交上去。

ChangID 一样, 就可以提交到一个gerrit上,可以通过修改ChangeID 来提到同一个gerrit上。

git clone git@192.168.1.1:dir.git 可以把整个工程 clone下来。

git pull --all  //到project中,运行,得到最新的patch。

 

git init    //如果是新加的工程,则需要会生成一个.git目录
 
然后再
git add *   //把所有代码都加入到自己的branch中,change the red status to green.
git add .

git log -p include/camera/CameraParameters.h  //查看git工程下,某个文件的git log。

git status   //查看自己branch的状态,红色表示未添加进branch, 绿色表示已添加进branch。
 
git commit -a -s // 提交代码进主干中,并添加comments, 第一行为标题,不能超过50字符, 内柔都顶格写就行。 -s 表示自动加上signed-off...
 
git commit --amend  //修改commit comments. 如去掉changed-ID等等
git commit -m "xxx"  //这个是提交代码进主干,但是只写标题xxx。add -m the first row -m the second row -m the third row.
 
 
提交代码如果后悔了,可以用:
git reset --soft 提交码号 //这里写哪个提交码号 就后悔到哪个patch为止。软后悔,就是修改还在
git reset --hard 号码  // 硬后悔都该patch为止。修改已经没有了。
git reset HEAD code  //change green status to red status.
 
git log //这个都知道 看patch信息
 
git diff // 查看自己的修改内容
 
下面一些常用的 global config:
git config --global user.name "XXXXX XX"       //change to your name, same format
git config --global user.email "XXXX.XX@XXXX.com"    //change to your email, same format
git config --global color.ui "auto"  //把 git diff 配成彩色的
 
git config --global format.signoff true  //commit 时自动加上 Signed-off-by: 这一行
 
git config --global core.autocrlf input  //commit 时自动把 dos 回车转换成 unix 回车
 
git config --global apply.ignorewhitespace change
git config --global apply.whitespace fix  //打别人的 patch 时 自动 fix whitespace 问题 
 
检查 whitespace 问题:
在 commit 前运行 git diff --check
或者 commit 后运行 git diff --check HEAD^..
 
git am --abort //git am 失败后,需要进行此操作,还原到打patch之前的版本.
git checkout -- xxx.x  //把修改过的文件,还原到修改之前的原本.
git checkout -- .  //把所有修改过的文件都恢复成原本。
 
git branch  // 查看可用的版本分支
git branch -a //查看所有分支
git checkout --track remote/otc/android-2.6.36   //把本版本替换成remote/otc/android-2.6.36
git checkout -b topic02_2.6.36 otc/2.6.36-rebase     //把2.6.36-rebase 替换成topic02_2.6.36 otc版本。
 
本地branch却换:
git checkout xxxx  //xxxx-本地branch分支名

 

git am -3 0001--xxxx.patch    //硬把patch打上,会合并出错误 >>>>  <<<<符号。修改之后,可以使用

git add  file.name

git am -3 --continue    //把patch完整打完。

1.先到相应的git分支目录:

2.git format-patch -1   //生成patch

3.git commit -a -m"Bug B1048, Widget of FileManager"  //commit code,上传代码。

4.查看状态
xxha@xxha-OptiPlex-780:~/work/kunlun0111/packages/wallpapers/Basic$ git status -- src/com/android/wallpaper/polarclock         //查看目录下文件情况,这里是删了2个文件。
# Not currently on any branch.
# Changed but not updated:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#    deleted:    src/com/android/wallpaper/polarclock/PolarClockSettings.java
#    deleted:    src/com/android/wallpaper/polarclock/PolarClockWallpaper.java
#
no changes added to commit (use "git add" and/or "git commit -a")

5. checkout 文件,重新下载文件

git checkout -- src/com/android/wallpaper/polarclock/PolarClockWallpaper.java

6. 打.patch 补丁

patch -Np1 -i xxxx.patch

试打patch:

patch --dry-run -p1 xxxx.patch   //切到当前目录打用p1。



 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值