我有一个本地提交[A]和一个指向提交[B]的分支。我需要先进行更改,然后再提交提交。
场景1:
提交[A]的更改不会影响提交[B]上的任何更改
git pull
应该没问题,pull不应该覆盖任何内容。与使用git pull --rebase
相同。
方案2:
提交[A]和提交[B]的更改会影响同一文件
git pull
应该没问题,git应该自动合并所有内容。与使用git pull --rebase
相同。
方案3:
提交[A]和提交[B]的更改(或删除)影响代码行。
git pull
导致合并冲突,我需要手动删除。与使用git pull --rebase
相同。
我错了吗?在哪种情况下我需要使用git pull --rebase
?如果您进行更改,则无论如何都需要通过auto merge
,no merge
或解决merge conflicts
来重新确定提交的基础。
答案 0 :(得分:1)
在所有三种情况下都可以使用git pull --rebase
。但是,在方案2和3中,您将有一个新的合并提交。该消息将说明您正在合并Branch 'foo' into branch 'foo'
,并且分支机构的更改很大,这会使历史确实令人困惑。使用git pull --rebase
将不会有这些合并提交,并且会在git日志中显示相当简单的历史记录。