一、git常用命令
1、新建分支
git fetch origin master:feature/XXXX
git push origin feature/XXXX
git checkout feature/XXXX
2、合并分支
git merge origin feature/XXXX
git-conflict
git push
二、merge及解决冲突
要合并的分支:feature_log4php_pop 合并到的分支:regression_20160714
1、从git上拉代码
2、git fetch --all
3、git checkout regression_20160714 切换到合并到的分支
4、git merge --no-ff feature_log4php_pop 将要合并的分支合并上去(若有冲突 git mergetool git commit -a -m "")
5、 git push origin regression_20160714 将合并到的分支推到git上
可以在gitlab上查看合并的分支是否正确 包括分支号、文件内容
三、gerrit有冲突 Merge conflict
git pull --rebase origin <分支名>,如果有冲突解决冲突 (git mergetool调用beyond compare),然后 git rebase --continue ,如果还有冲突,继续git mergetool,直到rebase完毕,最后再push
四、分支A和B,只将A分支的某个文件a.txt合并到B分支上文件a.txt上
1、切换到B分支:git checkout B
2、合并A分支上a.txt追加到B文件上,可以接受或者拒绝补丁内容
git checkout --patch A a.txt
Apply this hunk to index and worktree [y,n,q,a,d,/,K,j,J,g,e,?]?
可以一直按y
五、GIT回滚代码到某个commit
回退命令:$ git reset --hard HEAD^ 回退到上个版本
$ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前
$ git reset --hard commit_id 退到/进到 指定commit的sha码强推到远程:
$ git push origin HEAD --force