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