如何使用rebase而不是合并来拉取所有远程更改?

时间:2011-03-14 23:54:38

标签: git version-control rebase pull

我可以使用git pull提取更改,但它会合并我的本地提交。是否有git rebase等效物,我可以用它进行远程更改?

4 个答案:

答案 0 :(得分:28)

是的,你可以git pull --rebase

当您使用git config branch.autosetuprebase always跟踪分支时,您还可以将其设置为默认拉动行为。如果您要对正在跟踪的特定类型的分支执行此操作,请将“始终”替换为“远程”或“本地”。

现在你所要做的只是git pull

如果由于某种原因你想进行合并,你可以git pull --no-rebase

希望这有帮助。

更新:请参阅以下评论,了解如何在现有分支机构上执行此操作。

答案 1 :(得分:12)

您可以使用autosetuprebase配置选项来改变每个 pull.rebase的行为(而不仅仅是新创建的分支),而不是git pull

[pull]
    rebase = true

不同之处在于,这将适用于非跟踪分支机构以及您在启用autosetuprebase之前设置的任何分支机构。因此,如果您真的希望pull --rebase永远是默认值,那么pull.rebase就是最佳选择!

答案 2 :(得分:4)

我通常使用fetch / rebase组合,因此我的当前(本地)工作保持在顶部:

git fetch
git rebase origin/develop

答案 3 :(得分:0)

将默认行为从merge更改为rebase在git> = 1.7.9中:

git config --global pull.rebase true

如果您只想申请当前的回购,请

删除全局