Git分支管理與標籤管理(the last)

開卷有益

有些人沒見過汪洋,以爲江河最爲壯美;有些人一片透過落葉,便能看到整個秋天。讀萬卷書,行萬里路,方能見天地之廣闊。


正文部分

一、分支管理

解決分支衝突

當Git無法自動合併分支時,就得先解決衝突。常見做法是先Pull後Push,中間可能需要把合併失敗的文件手動編輯爲我們希望的內容,再提交。
使用命令:git log –graph 。可以查看分支合併圖。

分支策略

合併分支時應該加上參數:–no-ff,就可以使用普通模式合併,合併後的歷史有分支,而fast - forward 合併就看不出來曾經做過合併。

Bug分支

修改Bug都應該到自己的小分支Branch去做,爲了保留當前工作進度,即保護當前工作環境,可以使用命令: git stash. 使用命令: git stash list 。可以查看被保存的工作現場。如何恢復呢?使用命令:git stash apply stash@{num}. 這個命令不會刪除原工作現場,需要你完成工作後手動刪除:git stash drop stash@{num}; 或者直接使用命令:git stash pop @stash{num}.

Feature分支

Feature 分支與 Bug分支類似,有時候會提示需要強制刪除,命令是:git branch -D . 該命令可以丟棄一個未被合併的分支。

多人協作

命令: git push origin master
該命令是把本地master分支推送到遠程庫Origin。
命令:git remote -v
如果沒推送權限,看不到Push的地址。
如果推送失敗

  • 有可能是小夥伴最新提交與你試圖推送的提交有衝突,此時需要先 git pull 把最新的提交從 origin /branchName 抓取下來,然後在本地合併,解決衝突後,再推送。
  • 如果git pull 失敗了(如果git pull提示no tracking information,則說明本地分支和遠程分支的鏈接關係沒有創建,用命令git branch –set-upstream-to origin/。),原因可能是本地的分支branchName 與遠程的origi/branchName沒有連接,這時會有提示信息,連接後再去Pull.
Rebase

命令:git rebase
把原來交錯的提交操作合併到一條線上,方便管理。使用git log –graph –pretty=oenline –abbrev-commit .查看效果。

二、標籤管理

標籤管理,爲啥要有這個呢?主要是爲每個CommitID 取個名字,後來方便尋找和管理。有人類比這種關係是:IP與域名。

創建標籤

首先切換到某個分支BranchName。
命令:git tag tagName
默認標籤打到最新提交的commit上,如果要精確一些,使用命令:git log –pretty=oneline –abbrev-commit.
可以查看每次提交的commitID。然後呢,git tag tagName commitId.
命令:git tag
查看所有標籤信息。
命令:git show
查看具體標籤信息。

操作標籤
命令:git tag -d <tagname>
刪除某個標籤。
命令:git push origin --tags
將所有tags 推送到遠程倉庫Origin。
命令:git push origin <tagname>
將某個標籤推送到倉庫Origin。
如果想要刪除遠程標籤,按一下步驟:
  1. git tag -d .本地刪除某標籤。
  2. git push origin :refs/tags/ .然後是遠程刪除。

    三、結尾

    系列文章至此結束,具體怎麼結尾,後面再補,這個鍋扔給週末了。
    若問我學習這麼多命令或者技能幹什麼?節省時間啊,省下來的時間去做別的事,享受生活。芭啦芭啦櫻之花…..再見。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章