我看到一些git
项目建议您通过
git fetch; git rebase origin master
与
相比,这样做有什么好处git pull
从github
上的开源项目的角度来看,因为你总是信任遥控器。
答案 0 :(得分:9)
如果您没有对分支的本地副本进行任何更改,则这两组命令将产生完全相同的历史记录。当您对当前分支的副本进行本地提交时,差异就会发挥作用。
如果您执行git pull
,则对远程所做的任何更改都将合并到您的本地分支中,并且您将在历史记录中进行合并提交。另一方面,如果您执行提取后跟一个rebase(或git pull --rebase
),您的本地更改将在远程更改之上重播。这样可以获得更清晰的历史记录,因为您可以减少合并提交,使历史记录变得混乱。
由于新提交之前的历史记录与遥控器上的历史记录相匹配,因此它也经常使您的更改更容易合并到上游。