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时就跟上面不一样了。

或者这样更简洁

你将可以看到分支合并到主分支上的图了。

原文地址:https://www.cnblogs.com/zengsf/p/7512136.html