什么时候应该使用git pull --rebase而不是git pull?

时间:2019-01-02 20:10:04

标签: git

我有一个本地提交[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 mergeno merge或解决merge conflicts来重新确定提交的基础。

1 个答案:

答案 0 :(得分:1)

在所有三种情况下都可以使用git pull --rebase。但是,在方案2和3中,您将有一个新的合并提交。该消息将说明您正在合并Branch 'foo' into branch 'foo',并且分支机构的更改很大,这会使历史确实令人困惑。使用git pull --rebase将不会有这些合并提交,并且会在git日志中显示相当简单的历史记录。