实际工作场景
可能会遇到的工作流
-
开发某个网站
-
为实现某个新的用户需求,创建一个分支
-
在这个分支上开展新工作
正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补,你将按照如下方式来处理:
-
切换到你的线上分支(production branch)
-
为这个紧急任务新建一个分支,并在其中修复它
-
在测试通过之后,切换回线上分支,然后合并这个修补分支,最后将改动推送到线上分支
-
切换回你最初工作的分支上,继续工作
新建分支
首先,我们假设你正在你的项目上工作,并且在 master
分支上已经有了一些提交。
为了解决问题,想要新建一个分支并同时切换到那个分支上,你可以运行一个带有 -b
参数的 git checkout
命令
$ git checkout -b iss53
Switched to a new branch "iss53"
它是下面两条命令的简写
$ git branch iss53
$ git checkout iss53
创建一个新分支指针
在 iss53
分支上修改东西并提交,该分支就会不断的向前推进,因为已经 checkout 到该分支 (也就是说,HEAD
指针指向了 iss53
分支)
$ vim index.html
$ git commit -a -m 'added a new footer [issue 53]'
紧急插入一个问题待修复
突然紧急插入一个问题需要修复,它可以不用和 iss53 分支混在一起,操作步骤