[英]Is it correct that git fetch gets info about all remote branches and git pull does git fetch then only merges current branch?
[英]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.