
git下的有关于分支的操作。
首先看什么是分支?在进行软件开发的过程中,需要并行的处理一些作业。那么,这些并行的作业怎样在一个环境下进行呢?这就需要建立不同的分支,每个分支下都可以进行最新的代码编辑等工作。
其实,前面的工作,也一直是在分支下进行的工作,只不过这个分支是git默认创建的分支,叫做master。比如:

括号中的内容就是分支名,这里是git默认创建的master分支,自己还没有创建分支。(注意:这里的终端配置可以显示出分支名,但是可能很多其他的终端配置不能显示,这个无所谓的,接下来有方法可以自己查看分支)。
接下来,我们创建的任何分支,都是建立在master这个分支的基础之上的,也就是说,接下来的分支都是以master这个分支为中心进行的。比如:

创建的分支是基于master的。基于master,可以创建多个分支,不同的分支,可以负责不同的任务作业。只要一个分支的任务完成了,就不在需要这个分支了,就可以讲这个分支与master进行合并,比如:

运用这种并行操作,在开发的过程中,可以大大的提高工作效率,节省时间。
查看并创建分支
接下来,首先看一下,怎么查看分支?用命令:git branch。

可以看到,出现了master,前面的星号表示当前所处的分支。也就是说,现在处在master分支下,并且只有master这一个分支。
那么,如何创建一个分支呢?git branch +分支名。

如图,创建了一个分支feature-A,再用git branch查看分支。可以看出,只有master前面有星号,也就是说,现在仍处在master分支下。但是,现在有了两个分支,多了一个feature-A。
切换分支并进行作业
现在,如果想在分支feature-A下进行工作,就需要转换到这个分支下。用命令:git checkout +分支名。如图:

可以看到——switched to branch 'feature-A',转移到分支feature-A下了。这个时候,就可以在当前这个分支下进行工作了。比如,在这个分支下,写入一些代码。先打开README.md文件,写入一些东西,比如:

很明显,在这个文件中加入了一行:“feature-A分支”这几个字。执行git status 查看状态:

显示:没有状态将要提交,README.md前面的红字是modified,说明这个README.md文件被修改过。最后一行:no changes added to commit,说明文件没有被添加到暂存区。添加并提交:

对比分支
在分支feature-A下已经进行了作业,分支master下的文件有没有受到影响?来查看一下master下的分支情况,与分支feature-A做一个对比。
首先,切换到master分支下:

打开README.md文件,就会发现仍然保持原先的状态,没有添加任何文字。
充分的展现了分支在并行操作过程中的优点,可以在各个分支之间,互相没有任何干扰的情况下,进行不同的工作。
合并分支
进行完分支的开发工作,最后都要统一的与主干分支master进行合并。主干分支master既是起点也是终点。合并时,首先要确定是在主干分支master下进行的,因为是分支并入主干。首先,切换到master分支:

合并命令:git merge --no-ff +"要合并分支的分支名"。

随后编辑器会自动的跳出,编辑器显示出如下信息:

这样feature-A分支的内容就已经合并到master分支中了。
网友评论