分支

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

相關文章
相關標籤/搜索