git fetch 命令
git fetch命令用于從另一個(gè)存儲(chǔ)庫下載對(duì)象和引用。
使用語法
git fetch [<options>] [<repository> [<refspec>…]] git fetch [<options>] <group> git fetch --multiple [<options>] [(<repository> | <group>)…] git fetch --all [<options>] Shell描述
從一個(gè)或多個(gè)其他存儲(chǔ)庫中獲取分支和/或標(biāo)簽(統(tǒng)稱為“引用”)以及完成其歷史所必需的對(duì)象。 遠(yuǎn)程跟蹤分支已更新(Git術(shù)語叫做commit),需要將這些更新取回本地,這時(shí)就要用到git fetch命令。
默認(rèn)情況下,還會(huì)獲取指向正在獲取的歷史記錄的任何標(biāo)簽; 效果是獲取指向您感興趣的分支的標(biāo)簽。可以使用--tags或--no-tags選項(xiàng)或通過配置遠(yuǎn)程.<name>.tagOpt 來更改此默認(rèn)行為。 通過使用顯式提取標(biāo)簽的refspec,可以獲取不指向您感興趣的分支的標(biāo)簽。
git fetch可以從單個(gè)命名的存儲(chǔ)庫或URL中獲取,也可以從多個(gè)存儲(chǔ)庫中獲取,如果給定了<group>,并且配置文件中有一個(gè)遠(yuǎn)程<group>條目。
獲取的參考名稱以及它們所指向的對(duì)象名稱被寫入到.git/FETCH_HEAD中。 此信息可能由腳本或其他git命令使用,如git-pull。
示例
以下是一些示例 -
1.更新遠(yuǎn)程跟蹤分支
$ git fetch origin Shell上述命令從遠(yuǎn)程refs/heads/命名空間復(fù)制所有分支,并將它們存儲(chǔ)到本地的refs/remotes/ origin/命名空間中,除非使用分支.<name>.fetch選項(xiàng)來指定非默認(rèn)的refspec。
2.明確使用refspec
$ git fetch origin +pu:pu maint:tmp Shell此更新(或根據(jù)需要?jiǎng)?chuàng)建)通過從遠(yuǎn)程存儲(chǔ)庫的分支(分別)pu和maint提取來分支本地存儲(chǔ)庫中的pu和tmp。
即使沒有快進(jìn),pu分支將被更新,因?yàn)樗那熬Y是加號(hào); tmp不會(huì)。
3.在遠(yuǎn)程分支上窺視,無需在本地存儲(chǔ)庫中配置遠(yuǎn)程
$ git fetch git://git.kernel.org/pub/scm/git/git.git maint $ git log FETCH_HEAD Shell第一個(gè)命令從 git://git.kernel.org/pub/scm/git/git.git 從存儲(chǔ)庫中獲取maint分支,第二個(gè)命令使用FETCH_HEAD來檢查具有g(shù)it-log的分支。
4.將某個(gè)遠(yuǎn)程主機(jī)的更新
$ git fetch <遠(yuǎn)程主機(jī)名> Shell要更新所有分支,命令可以簡寫為:
$ git fetch Shell上面命令將某個(gè)遠(yuǎn)程主機(jī)的更新,全部取回本地。默認(rèn)情況下,git fetch取回所有分支的更新。如果只想取回特定分支的更新,可以指定分支名,如下所示 -
$ git fetch <遠(yuǎn)程主機(jī)名> <分支名> Shell比如,取回origin主機(jī)的master分支。
$ git fetch origin master Shell所取回的更新,在本地主機(jī)上要用”遠(yuǎn)程主機(jī)名/分支名”的形式讀取。比如origin主機(jī)的master分支,就可以用origin/master讀取。
git branch命令的-r選項(xiàng),可以用來查看遠(yuǎn)程分支,-a選項(xiàng)查看所有分支。
$ git branch -r origin/master$ git branch -a * masterremotes/origin/master Shell上面命令表示,本地主機(jī)的當(dāng)前分支是master,遠(yuǎn)程分支是origin/master。
取回遠(yuǎn)程主機(jī)的更新以后,可以在它的基礎(chǔ)上,使用git checkout命令創(chuàng)建一個(gè)新的分支。
$ git checkout -b newBrach origin/master上面命令表示,在origin/master的基礎(chǔ)上,創(chuàng)建一個(gè)新分支:newBrach。
此外,也可以使用git merge命令或者git rebase命令,在本地分支上合并遠(yuǎn)程分支。
$ git merge origin/master # 或者 $ git rebase origin/master Shell上面命令表示在當(dāng)前分支上,合并origin/master。
轉(zhuǎn)載于:https://www.cnblogs.com/lizhang4/p/7428573.html
總結(jié)
以上是生活随笔為你收集整理的git fetch 命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快速打开IIS的方法
- 下一篇: Listener(监听器)