现在让我来看一个简单的分支与合并的例子,实际工作中大体也会用到这样的工作流程:
1.开发某个网站。
2.为实现某个新的需求,创建一个分支。
3.在这个分支中开展工作。
假设此时,你突然接到一个电话说有个很严重的问题需要紧急修补,那么可以按照下面的方式进行处理:
1.返回到原先已经发布到生产服务器上的分支。
2为这次紧急修补建立一个新分支,并在其中修复。
3.通过测试后,回到生产服务器所在的分支,将修补分支合并进来,然后再推送到生产服务器上。
4.切换到之前新需求的分支,继续工作。
分支的新建与切换:
首先,我们假设你正在项目中愉地工作,并且已经提交了几次更新(如图)。
[img]http://static.open-open.com/lib/uploadImg/20120201/20120201121726_3.png[/img]
现在,你决定要修补问题追踪系统上的 #53 问题。顺带说明下,Git 并不同任何特定的问题追踪系统打交道。这里为了说明要解决的问题,才把新建的分支取名为 iss53。要新建并切换到该分支,运行git checkout 并加上 -b 参数:
git checkout -b iss53
这句命令相当于:
git branch iss53
git checkout iss53
[url]http://static.open-open.com/lib/uploadImg/20120201/20120201121726_846.png[/url]
接着你开始尝试修复问题,在提交了若干次更新后,iss53分支的指针也会随着向前推进,因为它就是当前分支(换句话说,当前HEAD指针正指向iss53)
vim index.html
git commit -a -m 'added a new footer [issue 53]'
1.开发某个网站。
2.为实现某个新的需求,创建一个分支。
3.在这个分支中开展工作。
假设此时,你突然接到一个电话说有个很严重的问题需要紧急修补,那么可以按照下面的方式进行处理:
1.返回到原先已经发布到生产服务器上的分支。
2为这次紧急修补建立一个新分支,并在其中修复。
3.通过测试后,回到生产服务器所在的分支,将修补分支合并进来,然后再推送到生产服务器上。
4.切换到之前新需求的分支,继续工作。
分支的新建与切换:
首先,我们假设你正在项目中愉地工作,并且已经提交了几次更新(如图)。
[img]http://static.open-open.com/lib/uploadImg/20120201/20120201121726_3.png[/img]
现在,你决定要修补问题追踪系统上的 #53 问题。顺带说明下,Git 并不同任何特定的问题追踪系统打交道。这里为了说明要解决的问题,才把新建的分支取名为 iss53。要新建并切换到该分支,运行git checkout 并加上 -b 参数:
git checkout -b iss53
这句命令相当于:
git branch iss53
git checkout iss53
[url]http://static.open-open.com/lib/uploadImg/20120201/20120201121726_846.png[/url]
接着你开始尝试修复问题,在提交了若干次更新后,iss53分支的指针也会随着向前推进,因为它就是当前分支(换句话说,当前HEAD指针正指向iss53)
vim index.html
git commit -a -m 'added a new footer [issue 53]'