git创建新分支并单独提交

331 阅读3分钟

分支是什么?

分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。如果两个平行宇宙互不干扰,那对现在的你也没啥影响。

不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN!

image.png

分支在实际开发中的作用

在进行多人协作开发的时候,为了防止互相干扰,提高协同开发的体验,建议每个开发者都基于分支进行项目功能的开发,例如:

image.png

master 主分支

在初始化本地Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做master的分支。通常我们把这个master 分支叫做主分支。

image.png

在实际工作中,master 主分支的作用是:用来保存和记录整个项目已完成的功能代码。因此,不允许程序员直接在master 分支上修改代码,因为这样做的风险太高,容易导致整个项目崩溃。

功能分支

由于程序员不能直接在master 分支上进行功能的开发,所以就有了功能分支的概念。

功能分支指的是专门用来开发新功能的分支,它是临时从master 主分支上分叉出来的,当新功能开发且测试完毕后,最终需要合并到master 主分支上,如图所示:

image.png

查看分支列表

使用如下的命令,可以查看当前Git 仓库中所有的分支列表:

image.png

运行的结果如下所示:

image.png

注意:分支名字前面的*号表示当前所处的分支

实际项目中使用演示如下:

1、首先初始化一个仓库

git init

2、将文件添加到暂存区

git add .

3、将暂存区里的改动内容提交到本地仓库中

git commit -m ""

4、链接到远程仓库origin(名字可以随便设置,只不过一般我们叫它origin)

git remote add origin xxx.git

5、将主分支master推送到远程仓库中

git push -u origin master

效果如下:

image.png

重头戏来了,往下看

接下来创建一个新的分支

使用如下的命令,可以基于当前分支,创建一个新的分支,此时,新分支中的代码和当前分支完全一样:

image.png

图示如下:

image.png

分支的快速创建和切换

使用如下的命令,可以创建指定名称的新分支,并立即切换到新分支上:

图示如下:

image.png

注意:

“git checkout -b 分支名称” 是下面两条命令的简写形式:

①git branch 分支名称

②git checkout 分支名称

我这里创建一个叫testBranch1(相当于上图的login分支,只不过我这里起名叫testBranch1)的分支,并且切换到testBranch1分支上

git checkout -b testBranch1

将内容添加到暂存区(此时的内容跟master分支是一样的,因为你没有对此分支的内容做任何的更改)

git add .

将内容从暂存区提交到本地仓库

git commit -m "新分支提交"

将testBranch1分支推送到远程仓库origin

git push -u origin testBranch1

效果如下:

image.png