Git的精华是分支管理,那就来学习下Git的分支。
当初始化一个git仓库默认只有一个分支master
括号master表明当前所在分支,git中有一个HEAD的指针某个时刻只指向一个分支,查看.git下的HEAD文件就会发现指向的为master分支。
Git分支的意义何在,master分支是主分支默认是软件的主要版本,一般进行改动都不会在master分支上进行,当要改动时需要在master分支的基础上创建一个新的分支出来,在新的分支上进行改动适当的时候再和主分支进行合并,这样可以保证在分支上进行任何的改动不会影响到master分支,在多人开发中每个人在自己的分支上完成自己的工作这样整个团队就可以很好的进行协同开发。首先在master分支下新建文件Gitjava.java
在master分支上提交gitcommit –m “master分支新增文件Gitjava.java”
完了后新建分支newb 并切换到该分支上gitcheckout –b newb
现在查看.git下的HEAD会发现HEAD指向了newb分支
然后再该分支上对Gitjava.java进行修改
现在在newb分支上提交gitcommit –a –m “newb分支上进行了改动”
来看下newb分支进行的改动对master分支有何影响,切换回master分支gitcheckout master
只要一切回master分支就是提示Gitjava被修改
重新加载会发现Gitjava.java回到了没有增加后面两条输出语句的状态
并且发现此时查看log发现只有master分支上的提交记录
而又切回newb分支发现两次提交记录都有。
假设newb分支上进行的修改确保无误后就可以和master分支进行合并,前提是要在master分支上进行git merge newb
之后Gitjava.java就是newb分支上进行改动后的文件了。
通过Git的这种分支的模型可以方便很多事情,实际中还有专门用于实现某些特性的分支,有测试的分支或建议更新的分支等等。