以前咱們已經學習了,git本地操做相關的命令,還有git分支開發的基本功能,今天咱們補充一下git分支相關的其餘操做,雖然應用場景比較少,可是卻頗有用。git
Git保存當前工做上下文
好比咱們正在修改代碼,忽然有個線上緊急的問題須要咱們修改,可是咱們如今正在進行的工做剛進行到一半,不能上線;把咱們辛苦的代碼給刪掉?太惋惜了!怎麼辦?git給咱們提供了「git stash」命令,能保證當前咱們工做的內容,同事將工做區重置爲最後一次提交時的狀態,如圖:上圖展現的是正在編輯文件,還未完成,忽然有打算須要暫停當前的編輯,基於上次編輯的內容從新編輯,可是目前的編輯內容又不能放棄,可使用「git stash」保留當前編輯的上下文
從保存的上下文章回覆上下文數據,咱們使用「git stash list」命令來查看當前上下文列表,咱們根據實際請款選擇對應的上下文進行恢復,使用「git stash applly stash@{pos}」來恢復上下文。git會自動合併上線文和最近修改的內容,若是發現衝突,會提示解決衝突,並在文件中表示出衝突的位置,咱們參照以前文章中提到的解決衝突的方式進行解決便可。除了"git stash apply <stash@{pos}>"來回覆上下文信息之外,還可使用「git stash pop」來回復。恢復的是最近一個上下文信息,並把恢復的上下文信洗胸列表中刪除。
因爲上下文恢復之後通常就再也不用了,咱們能夠刪除,這時咱們就用到了「git stash drop <stash@{pos}> 」,stash@{pos}是可選的,沒有的話默認是刪除最新的那個上下文列表:經過操做咱們發現git stash很像咱們玩闖關遊戲時,在玩到某個環節咱們因其餘緣由要中途中止,可是咱們又不想再玩的時候從頭開始,這個時候咱們能夠選擇保存副本,當從新玩遊戲時咱們能夠重頭開始玩,也能夠恢復副本繼續上次的節點繼續玩app
Git多人協做開發流程
咱們在實際開發中是多人協做共同維護一個或是多個項目代碼,這時候就須要多人之間協做,具體流程:
(1).當完成本地的編輯開發之後,使用「git push origin 分支名」推送本身的修改
(2).若是推送修改到遠程倉庫失敗,說明遠程分支比咱們本地倉庫的數據更(四聲)新,這時應該先用「git pull」從遠程倉庫拉取最新代碼到本地進行合併
(3).若是在合併的時候發生了衝突,那麼就按照解決衝突的流程進行處理,並解決了衝突之後的文件再提交
(4).若是沒有衝突或是衝突解決,咱們再次執行第一步操做
(5).若是提示「no tracking infomation」,則說明本地倉庫分支沒有與遠程倉庫對應分支創建關聯,使用「git branch --set-upstream branch-name origin/分支名」進行關聯學習
git標籤
因爲commitid可讀性較差,讓人不經過commitid很好的管理git倉庫中各個版本的內容,因此使用標籤來指向具體的commitid:
「git tag tagname <commitid>」建立一個標籤在沒有哦指定commitid狀況下,默認指向當前最新的commitid
「git tag」用戶顯示當前全部tag列表「git show tagname」查看指定名稱tagname的信息
"git tag -d tagname"刪除指定名稱的tag
git push origin 分支名 tagname(tags)將標籤數據推送到遠程倉庫spa