如何使用变基而不是合并来提取所有远程更改?

发布于 10-21 19:57 字数 70 浏览 2 评论 0原文

我可以使用 git pull 拉取更改,但它会合并我的本地提交。是否有一个 git rebase 等效项可以用来提取远程更改?

I can pull changes using git pull, but it merges my local commits. Is there a git rebase equivalent with which I can pull in remote changes?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

谁的新欢旧爱2024-10-28 19:57:24

是的,你可以git pull --rebase

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

现在您所要做的就是git pull

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

希望这有帮助。

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

Yes you can git pull --rebase.

You can also set that to be the default pull behaviour when you track a branch with git config branch.autosetuprebase always. Replace "always" with "remote" or "local" if you want to do it to those specific types of branches that you're tracking.

Now all you have to do is git pull.

If for some reason you want to do a merge, you can do git pull --no-rebase.

Hope this helps.

UPDATE: see comments below for how to do this on existing branches.

千寻…2024-10-28 19:57:24

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

[pull]
    rebase = true

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

Instead of autosetuprebase, you can use the pull.rebase config option to change the behavior for every git pull (instead of only newly-created branches):

[pull]
    rebase = true

The difference is this will apply to non-tracking branches and any branches you had set up before enabling autosetuprebase. So if you really want pull --rebase to always be the default, pull.rebase is the way to go!

情徒2024-10-28 19:57:24

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

git fetch
git rebase origin/develop

I usually use a fetch/rebase combination so my current (local) work stays at the top:

git fetch
git rebase origin/develop
極樂鬼2024-10-28 19:57:24

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

git config --global pull.rebase true

删除全局 if您只想申请当前的回购协议

To change default behavior from merge to rebase In git >= 1.7.9:

git config --global pull.rebase true

remove global if you want to apply for current repo only

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文