簡體   English   中英

git fetch是否在所有分支上運行,還是僅在當前分支上運行?

[英]Does git fetch operate on ALL branches or just the current branch?

我在github上有一個遠程倉庫,在我的本地機器上,我有幾個不同的分支(所以我可以使用“ git checkout master ”,“ git checkout branch2 ”在分支之間進行切換)。
當我運行“ git fetch ”命令時,我永遠不確定它是否正在獲取所有這些分支的更新,或者僅獲取我當前正在使用的分支(我最近“簽出”的那個)分支的更新。
換句話說,如果我在branch2工作,並且想要合並其他人對branch1所做的branch1 ,是否需要做:

git checkout branch1
git fetch
git checkout branch2
git merge branch1

或者我可以這樣做:

git fetch
git merge branch1

默認情況下,它將從遠程存儲庫中提取所有HEADS。
但是這些分支由refspec remoteRepoName / branchName引用

因此,在您的情況下,將是:

git fetch
git merge remoteRepoName/branch1

git remote可以列出您在存儲庫中注冊的遠程存儲,以獲取正確的遠程存儲庫名稱。


注意:由於您使用的是DVCS,它會引入發布(推/拉, 與分支正交 ),因此您可能想從遠程獲取相同的branch2 ,並將其合並到本地branch2 換句話說,“其他人”不必創建“ branch1 ”即可為您的開發工作做出貢獻。 他/她可以創建一個branch2 ,該branch2將存在於遠程存儲庫的“名稱空間”中,並將在本地存儲庫中進行提取/合並(即“拉”)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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