簡體   English   中英

為什么“git pull”從存儲庫中獲取所有分支而“git pull origin master”不這樣做?

[英]Why does “git pull” get all branches from repository but “git pull origin master” not do so?

為什么git pull從存儲庫中獲取所有分支而git pull origin master沒有? 我以艱難的方式發現了它。 這是這兩個命令之間唯一的功能區別嗎?

像這樣的解釋什么也沒告訴我:

git pull = git fetch origin + git merge origin/master

git pull origin master = git fetch origin master + git merge FETCH_HEAD

后一個命令git pull origin master告訴 git 專門獲取和合並master分支(從遠程命名origin ,更准確地說)。

git pull獲取所有本地分支的更新,跟蹤遠程分支,然后合並當前分支。

git pull文檔中

git pull使用給定的參數運行git fetch並調用 git merge 將檢索到的分支頭合並到當前分支中

當您不帶參數調用git fetch ,會發生以下情況

從一個或多個其他存儲庫中獲取命名的頭部或標簽,以及完成它們所需的對象。
git fetch [fetches] from (...) 單個命名存儲庫 (...)

添加參數時,僅獲取指定的遠程和頭 (=branch/tag/commit/...),然后合並。

Git pull 只拉取結帳分支。

如果要使用原始遠程分支更新所有本地分支。

git pull --all

“git pull --all”可以更新我所有的本地分支嗎?

暫無
暫無

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

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