git 協作開發流程

git 協作開發流程

這裏寫圖片描述
首先了解git分支是什麼
我理解的是好比造一架飛機需要多個零件,這些零件由不同的廠家生產,最後各個廠家的零件生產後彙總到一個倉庫中,組裝起來就可以成爲一架飛機了。

而在git項目管理中master主分支相當於倉庫,實現不同功能的分支相當於各個生成零件的廠家,最後所有的分支所完成的功能全部合併到一起,就成爲一個完整的項目。當然,在合併過程中可能產生衝突,這就需要來解決衝突,後面會講怎麼解決衝突。

項目中git除了主分支master外,用戶還可以創建自己的分支,然後在不同的分支實現不同的模塊。
紅色框內顯示當前分支是在主分支上。
這裏寫圖片描述

同步協作開發流程

1、 先把master主分支上的代碼與遠程倉庫同步到最新版本。
直接從遠程倉庫pull下來

2、 創建並切換到工作分支,創建完成後會自動切換到該分支(這時候master/work分支的內容是相同的。)
這裏寫圖片描述
這裏寫圖片描述

3、 編寫代碼,這裏舉個例子:創建個文件test.html
這裏寫圖片描述
4、 完成後,add commit到work分支
這裏寫圖片描述
這時候更改的代碼就會保存到work分支上。
5、 將主分支從遠程倉庫pull最新的版本下來。
6、 將工作分支合併到主分支

  1. 先切換到主分支master
  2. 選中要合併的分支work,點擊merge
  3. 如果有衝突,則需要手動解決衝突
    這裏寫圖片描述

雙擊點開,左邊是你本地的版本,中間Rsult是合併後形成的版本,右邊是你要合併的版本(如果是服務合併到本地,那麼左邊是你本地的版本,右邊是遠程倉庫上的版本;如果是從分支合併到主分支,那麼左邊是你主分支master的版本,右邊是你分支上的代碼)。
這裏寫圖片描述
怎麼看衝突在哪裏
這裏寫圖片描述

你會發現三個版本代碼都不一樣,點擊左(右)邊的箭頭,會把左(右)邊的代碼修改到Result中。
這裏寫圖片描述
這裏我點了左邊的箭頭,左邊衝突解決了,但有右邊衝突還沒解決,如果右邊代碼也是正確的,那麼點擊的箭頭,它會把內容合併到Result中。
這裏寫圖片描述
但這明顯是錯的,按Ctrl+z可以撤銷操作,右邊這個衝突我們不想合併,直接點擊X,把衝突關閉,當所有衝突解決完後,點擊Apply,這裏Result欄就是我們解決衝突後的版本了。
這裏寫圖片描述
如果還有衝突,它會提示你還有衝突沒有解決。意思是左邊還有衝突沒有解決,這裏選擇NO,把衝突解決完再重新apply 。

這裏寫圖片描述
當沒有衝突時,它會提醒你已經解決所有衝突了。

7、 這時候所有在work分支上做得修改就會合併到主分支上。
8、 最後就可以push到遠程倉庫上了。

關於分支切換的兩個注意點

1、 分支切換一定要先add/commit當前分支上的修改,然後如果在修改完代碼後沒有提交,就想切換,idea會提示是否進行smart checkou,如果你點擊yes你就完完了,idea會把當代分支上的修改,保存到你要切換的另一個分支上。這樣一樣就亂套了。
2、 如果當前工作分支上有很多bug不想提交,那麼你可以先隱藏當前工作分支上的修改,stash(隱藏),然後切換到另一個分支上,那麼下次你又切換回工作分支的時候,你可以通過unstash把修改的代碼重新顯示出來。

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