代码合并一般分两种情况rebase与merge
说明:如果div是从master创建出来的分支,那么,master就是dev的上游,dev是在master的下游。
下游合并上游:要尽可能的保存提交路径简洁,那么用rebase
上游合并下游:要尽可能的保存提交细节,那么采用merge
dev分支下:master已经有修改了,dev本身也做了提交,需要更新master代码才能做dev
下游合并上游,用rebase
|
1
|
git rebase master |
dev分支下,需要合并到master上
上游合并下游,用merge
|
1
2
3
|
git checkout mastergit merge dev |
回退到merge前的代码状态
|
1
2
3
4
5
6
|
# 查出要回退到merge前的版本号git reflog# 回退到merge前的代码状态git reset --hard# 回退到merge前的某个代码状态git reset --hard f123456 |
merge使用问题
|
1
2
3
4
5
6
7
8
|
# 挡在Dev分支上使用merge的时候$ git merge devfatal: refusing to merge unrelated histories# 出现上述问题的时候$ git merge master --allow-unrelated-histories# 在进行add、commit$ git add .$ git commit -m ‘first‘ |
原文:https://www.cnblogs.com/sexintercourse/p/14772833.html