1、分支理解
HEAD,保持着當前的分支指針
一、邏輯關係
快照對象blob,每一次提交,都會對變化的文件或目錄造成徹底快照
邏輯樹,樹中記錄了全部快照的索引或指針
提交對象,包含了對邏輯樹的指針
分支,指向提交對象,能夠理解爲可變指針
HEAD,保持着當前的分支指針
----合併類型
--fast
--末端加公共祖先
二、創建分支
git branch br1--在當前的提交對象上創建一個分支
三、切換分支
git checkout br1--切換到br1分支,HEAD指針指向br1
四、建立並切換分支
git checkout -b br1=
=git branch br1;git checkout br1
五、分支合併
git branch br1
git checkout br1
---vim xxxx.heml
---git add xxxx.html
git commit -m 'dd'
git checkout master
git merge br1-------把br1的當前提交合併到master分支
六、刪除分支
git branch -d br1
七、查看分支
git branch --查看分支
git branch -v --查看分支並查看最後一次提交
!!!!git branch --merge --查看與當前分支已經合併的分支
!!!!git branch --no-merge --查看與當前分支未合併的分支
目前衝突出現的一種多是解決緊急BUG,而沒有正確同步dev分支。
致使dev分支落後於master分支。按道理來講,dev版本始終要新於master分支版本。
即時有衝突也應該在dev分支內解決完畢了。
解決緊急BUG步驟參考應該是:
一、切換到master分支,git pull 保證本地master爲最新
二、git checkout -b hotfix 建立一個新的臨時的解決bug的分支
三、在hotfix分支上修改bug,修改完畢後commit
---vim xxxx.heml---修改文件
git add xxxx.html
git commit -m 'bug repair'
四、切換回master分支,合併hotfix後,push到遠程master分支,上線master代碼
git checkout master
git merge hotfix-------把hotfix的當前修改提交合併到master分支
git push
五、最後一步相當重要,把hotfix合併到dev研發分支,不然必有衝突
git checkout gsb-netsharp-dev
git merge hotfix
六、刪除臨時的hotfix
git branch -d hotfixhtml