git中的分支管理
/*游戏或者运动才能让我短暂的忘记心痛,现如今感觉学习比游戏和运动还重要——曾少锋*/
如果对git基础不太熟悉的可以参考:http://www.cnblogs.com/zengsf/p/7506219.html
想把文件推到github中的过程可以参考:http://www.cnblogs.com/zengsf/p/7511370.html
分支其实很好理解,就是中间插入进来,就如同大树一样一条主干,多条分支。
HEAD就是当前提交点,当你操作次分支,那么HEAD就在当前提交次分支处,当你在操作
主分支是,HEAD就在当前提交主分支处。
git branch <name>创建一个次分支,这时我们就有两个分支了,那么肯定要切换主分支
和次分支。这是就利用git checkout <name>进行切换。其实也可以将上面两步变成一步,
git checkout -b <name>就直接创建好了并且切换到了这个分支上。
当你在zsf分支时,你修改了编辑器里面的内容,然后提交了(git add <file>,
git commit -m <file>)。然后在查看编辑器的内容时,就是你修改后的内容,
但是回到master分支时,查看的内容却是修改之前的内容。自己实践一下就
知道了。
既然可以分,那当然可以合并。但要注意的是要合并分支,那你当前要处于
主分支才能合并分支,通过git merge <分支名>。
合并好了,那么分支也就没必要了。就可以删掉了。通过git branch -d <name>
就可以删掉想删除的分支了。
分支也会有冲突的时候,在分支状态下,修改好了内容提交了。然后回到主分支,
也修改了里面的内容并且都提交了。这是在合并时就会有冲突。
在编辑器中就会变成这样:
为了解决冲突,我们可以修改为:
在利用git add <name>和git commit -m <name>,之后在查看提交过程:
git log --graph的命令是查看分支合并图。将两个合并成了一个,并且图中也很详细的整个过程。
合并分支时,Git使用用Fast forward
模式,但这种模式下,删除分支后,会丢掉分支信息。
意思就是合并后在利用git log --graph时并不会出现历史记录。
当然,你可以让其显示出来,并且不会丢失分支信息。就是利用--no-ff来禁止使用Fast forward
模式。
这样你在利用git log --graph时就跟上面不一样了。
、
或者这样更简洁
你将可以看到分支合并到主分支上的图了。