[英]How can I pull all remote changes with rebase instead of merge?
我可以使用git pull
来提取更改,但它会合并我的本地提交。 是否有一个git rebase
等价物,我可以用它进行远程更改?
是的,你可以git pull --rebase
。
当您使用git config branch.autosetuprebase always
跟踪分支时,您也可以将其设置为默认的拉动行为。 如果要对正在跟踪的特定类型的分支执行此操作,请将“always”替换为“remote”或“local”。
现在你所要做的就是git pull
。
如果由于某种原因你想要合并,你可以做git pull --no-rebase
。
希望这可以帮助。
更新:请参阅下面的评论,了解如何在现有分支机构上执行此操作。
取而代之的autosetuprebase
,您可以使用pull.rebase
配置选项来改变行为, 每 git pull
(而不是仅向新创建的分支):
[pull]
rebase = true
不同之处在于,这将适用于非跟踪分支机构以及您在启用autosetuprebase
之前设置的任何分支机构。 因此,如果您真的希望pull --rebase
始终是默认值, pull.rebase
就是您的最佳选择!
我通常使用fetch / rebase组合,所以当前(本地)工作保持在顶部:
git fetch
git rebase origin/develop
要将默认行为从merge
更改为rebase
在git> = 1.7.9中:
git config --global pull.rebase true
如果您只想申请当前回购,请删除全局
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.