簡體   English   中英

如何使用rebase而不是合並來拉取所有遠程更改?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM