Git的分支管理與標簽管理 (二)

多人協作

利用git remote可以查看遠程庫的信息
<pre><code>$ git remote

origin
</code></pre><p>

也可以利用git remote -v顯示更詳細的信息:
<pre><code>$ git remote -v

origin git@github.com:michaelliao/learngit.git (fetch)

origin git@github.com:michaelliao/learngit.git (push)</code></pre><p>

推送分支

  • master分支是主分支,因此要時刻與遠程同步;

  • dev分支是開發分支,團隊所有成員都需要在上面工作,所以也需要與遠程同步;

  • bug分支只用于在本地修復bug,就沒必要推到遠程了,除非老板要看看你每周到底修復了幾個bug;

  • feature分支是否推到遠程,取決于你是否和你的小伙伴合作在上面開發。

抓取分支

若你的同事已經向origin/dev分支推送了他的提交,而碰巧你也對同樣的文件作了修改,并試圖推送,就會發生推送失敗,需用git pull 來把最新的提交從origin/dev抓下來,然后,在本地合并,解決沖突,再推送.
如果git pull也失敗了,原因是沒有指定本地dev分支與遠程origin/dev分支的鏈接,根據提示,設置devorigin/dev的鏈接:

<pre><code>$ git branch
--set-upstream dev origin/dev

Branch dev set up to track remote branch dev from origin.

</code></pre><p>

之后進行git pull

多人協作模式

  1. 首先,可以試圖用git push origin branch-name推送自己的修改;

  2. 如果推送失敗,則因為遠程分支比你的本地更新,需要先用git pull試圖合并;

  3. 如果合并有沖突,則解決沖突,并在本地提交;

  4. 沒有沖突或者解決掉沖突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,則說明本地分支和遠程分支的鏈接關系沒有創建,用命令git branch --set-upstream branch-name origin/branch-name

標簽管理

tag就是一個讓人容易記住的有意義的名字,它跟某個commit綁在一起,而不像commit號繞口,不像分支那樣可以移動。

創建標簽

  1. 切換到需要打標簽的分支上:
  2. 敲命令git tag <name>就可以打一個新標簽

PS:

  • 命令git tag <name>用于新建一個標簽,默認為HEAD,也可以指定一個commit id;

  • git tag -a <tagname> -m "blablabla..."可以指定標簽信息;

  • git tag -s <tagname> -m "blablabla..."可以用PGP簽名標簽;

  • 命令git tag可以查看所有標簽。

操作標簽

命令git tag -d <tagname>可以刪除一個本地標簽,因為創建的標簽都只存儲在本地,不會自動推送到遠程。所以,打錯的標簽可以在本地安全刪除。
如果要推送某個標簽到遠程,使用命令 git push origin <tagname> ,或者,一次性推送全部尚未推送到遠程的本地標簽git push origin --tags

如果標簽已經推送到遠程,先從本地刪除:
然后,從遠程刪除:
<pre><code>$ git push origin :refs/tags/v0.9

To git@github.com:michaelliao/learngit.git

  • [deleted] v0.9
    </code></pre><p>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,713評論 4 54
  • 遠程倉庫 到目前為止,我們已經掌握了如何在Git倉庫里對一個文件進行時光穿梭,你再也不用擔心文件備份或者丟失的問題...
    歸云丶閱讀 1,975評論 0 5
  • 聲明:這篇文章來源于廖雪峰老師的官方網站,我僅僅是作為學習之用 Git簡介 Git是什么? Git是目前世界上最先...
    橫渡閱讀 3,986評論 3 27
  • 布法羅之役: 布法羅(Buffalo),又稱水牛城,是美國[紐約州]西部伊利湖東岸的港口城市,紐約州第二大城市(僅...
    羅賢龍閱讀 557評論 0 1
  • 小張從小學習優秀,上了875,211大學,通過讀書改變了命運,進入大都市過上都市人的生活,成了一知名企的白領,雖然...
    東澤666閱讀 182評論 0 0