采取以下情况:
我在主题分支中有一些工作,现在可以合并回master了:
* eb3b733 3 [master] [origin/master]
| * b62cae6 2 [topic]
|/
* 38abeae 1
我从母版执行合并,解决了冲突,现在有了:
* 8101fe3 Merge branch 'topic' [master]
|\
| * b62cae6 2 [topic]
* | eb3b733 3 [origin/master]
|/
* 38abeae 1
现在,合并花费了我一些时间,因此我又进行了一次提取,并注意到远程主分支具有新的更改:
* 8101fe3 Merge branch 'topic' [master]
|\
| * b62cae6 2 [topic]
| | * e7affba 4 [origin/master]
| |/
|/|
* | eb3b733 3
|/
* 38abeae 1
如果我尝试从master'git rebase origin / master',我被迫再次解决所有冲突,并且我也丢失了合并提交:
* d4de423 2 [master]
* e7affba 4 [origin/master]
* eb3b733 3
| * b62cae6 2 [topic]
|/
* 38abeae 1
有没有一种干净的方法可以重新合并合并,因此我得到的历史记录如下所示?
* 51984c7 Merge branch 'topic' [master]
|\
| * b62cae6 2 [topic]
* | e7affba 4 [origin/master]
* | eb3b733 3
|/
* 38abeae 1
git config --global pull.rebase preserve
始终在重定
git --rebase-merges
最终将取代旧版本git --preserve-merges
。看看Git的“ rebase --preserve-merges
” 到底做了什么(为什么?)
--preserve-merges
不推荐使用。使用git rebase --rebase-merges origin/master
git rebase --preserve-merges origin/master