代码合并到master分支

代码合并一般分两种情况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 master
 
git 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 dev
fatal: 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