git为项目创建分支与合并分支

时间:2024-03-25 18:03:21

现需要满足一个需求:我们团队在开发时使用一个分支,在发布生产环境时使用另一个分支,平时开发时两个分支互不影响,只有在发布生产时,合并一下,方便管理一些。


首先假设我们的项目已经有了一个提交:

 

 
git为项目创建分支与合并分支
master分支指向1号提交

我们可以使用如下命令进行创建分支:

$ git checkout -b product   或者

$ git branch product  +

$ git checkout product

记得将创建分支这个操作提交到远程仓库,不然你所做操作都只是在本地的操作:

$ git push --set-upstream origin [分支名称]

 
git为项目创建分支与合并分支
新建一个product分支

团队继续往前开发,并提交,同时我们所做的操作对其他人并没有造成影响

 

 
git为项目创建分支与合并分支
 

当我们需要发版时,只需要合并一下分支。图1是假设生产时稳定不改变时,可以直接合并分支:

如果需要拉取master分支所做的修改,使用的语句是:

$ git merge master    //将master分支合并入product分支

 
git为项目创建分支与合并分支
这时product分支已经合并了master的修改

如果这个时候突然发现product分支上出了个bug,我们可以切换分支到product分支进行一些修改,也可以直接在master 分支修改后直接有product分支拉取修改(本人觉得这个办法好像还不错)

方法一:先切换到product分支,做了修改之后,产生P3版本,接着还要将product分支上的修改合并到master分支:

$ git checkout product        //切换product分支

$ git commit -a -m 'finished the new footer [product]'    //做出修改后提交

$ git checkout master    //在将修改合并到master,先切换回master分支

$ git merge product      //再合并product分支所做改变

 
git为项目创建分支与合并分支
 

方法二,直接在master分支上做修改,然后由product分支拉取master分支所做的修改:

$ git commit -a -m 'finished  footer [master]'    //在master分支上做了修改后提交

$ git checkout product       //然后切换到product分支进行合并

$ git merge master

 
git为项目创建分支与合并分支
 

当我们修改product和master分支时难免会有对同一个文件同一个地方做了修改,这就需要我们在合并分支时对冲突进行处理。这个以后再说,先这样。