分支

一、分支理解
HEAD,保持着当前的分支指针
1、逻辑关系
   快照对象blob,每一次提交,都会对变化的文件或目录形成完全快照
   逻辑树,树中记录了所有快照的索引或指针
   提交对象,包含了对逻辑树的指针
   分支,指向提交对象,可以理解为可变指针
   HEAD,保持着当前的分支指针
   ----合并类型
     --fast
     --末端加公共祖先
2、建立分支
   git branch br1--在当前的提交对象上建立一个分支
3、切换分支
   git checkout br1--切换到br1分支,HEAD指针指向br1
4、创建并切换分支
   git checkout -b br1=
      =git branch br1;git checkout br1
5、分支合并
   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分支
6、删除分支
   git branch -d br1
7、查看分支
   git branch --查看分支
   git branch -v --查看分支并查看最后一次提交
   !!!!git branch --merge --查看与当前分支已经合并的分支
   !!!!git branch --no-merge --查看与当前分支未合并的分支

  目前冲突出现的一种可能是解决紧急BUG,而没有正确同步dev分支。
  导致dev分支落后于master分支。按道理来说,dev版本始终要新于master分支版本。
  即时有冲突也应该在dev分支内解决完毕了。
  解决紧急BUG步骤参考应该是:
  1、切换到master分支,git pull 保证本地master为最新
  2、git checkout -b hotfix 创建一个新的临时的解决bug的分支
  3、在hotfix分支上修改bug,修改完毕后commit
      ---vim xxxx.heml---修改文件
    git add xxxx.html
    git commit -m 'bug repair'
  4、切换回master分支,合并hotfix后,push到远程master分支,上线master代码
    git checkout master
    git merge hotfix-------把hotfix的当前修改提交合并到master分支
    git push
  5、最后一步至关重要,把hotfix合并到dev研发分支,否则必有冲突
    git checkout gsb-netsharp-dev
    git merge hotfix
  6、删除临时的hotfix
    git branch -d hotfix

posted @ 2019-09-14 19:05  FromScratch  阅读(289)  评论(0编辑  收藏  举报