分支

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

相关文章
相关标签/搜索