git环境设定
(1)登陆gerrit server
(2)登陆build server,在build server中(cd ~)
执行 ssh-keygen -t rsa,取得ssh key(命令执行中直接按回车继续)
执行 cat .ssh/id_rsa.pub,复制ssh key。
注:每次重新生成的ssh key不相同。
(3)在gerrit server上添加build server的ssh key,设定通信权限(用户名下拉菜单--Settings--SSH Public Keys--Add Key,复制ssh key到窗口中)。
(4)build server中执行
ssh -p 29418 hcgit #测试连接,ssh -p 29418 hcgit03
git config --global user.email you@example.com
git config --global user.name "Your Name"
常用命令
git bash复制快捷键为:Ctrl+Insert 粘贴快捷键为:Shift+Insert
push到同个commit:
法1. git push origin HEAD:refs/changes/[changeid]
法2. git commit --amend
添加:Change-Id: xxx
git push origin HEAD:refs/for/master
git status
git add xxx.c xxx.h
git commit / --no-verify / --amend
git push origin HEAD:refs/for/master
过滤git log的提交历史合http://blog.csdn.net/ly890700/article/details/52787257
git log -- xxx.c #查看修改过该文件的commit id
git log -S "Hello, World!" #按内容,查看增加Hello, World!的commit id
git checkout -b <new_branch> <branch> #基于branch创建新的new_branch
git log -- author="author_name”
git checkout -- file #丢弃工作区的修改
git diff xxx.c
git diff --cached
git config --global core.editor vim
git reset
git reset --hard commit_id
repo forall -c "git config core.filemode false" #忽略file mode变化
repo forall -c "git config core.filemode true" #不忽略file mode变化
repo forall -c 'git checkout tag_name' #切到某个tag
git add -A #将工作区delete, add和modify的所有文件加到暂存区stage
git add file #将file加到stage
git reset HEAD file #把文件从stage拿掉
git commit -n #忽略文件格式(如换行或空格)等问题
git reset --soft HEAD~ #撤销commit
git reset --hard HEAD~ #撤销全部修改(工作区,stage,commit)