Git分支管理

匆匆过客 提交于 2019-12-01 21:50:01

分支的概念

  1. 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

<!-- more -->

  1. 在Git里,这个分支叫主分支,即master分支。

创建并管理分支

  1. 创建分支

    123456
    //创建并切换到新建的分支git checkout -b branch01//其实上一步的操作就是相当于下面的两个操作git branch branch01     //创建分支branch01git checkout branch01   //切换分支branch01

  2. 显示所有分支

1234
//显示所有分支git branch//切换主线分支git checkout master


  1. 合并分支

12
//将branch01合并到当前分支 大专栏  Git分支管理git merge branch01


使用git merge branch 01 执行之后使用的模式是:Fast-forward,这个模式是快进模式,所以非常的快速。

  1. 删除分支

12
//删除分支git branch -d branch01


  1. 合并之后的冲突问题

当从主线分支出一个分支:branch01,在后在这个分支上面修改了A文件然后提交到仓库。这时候切换回到主线,又修改了A文件,那么这时候提交到仓库并将分支合并过来的时候,就会出现冲突了: $ git merge branch01 Auto-merging readme.txt CONFLICT (content): Merge conflict in readme.txt Automatic merge failed; fix conflicts and then commit the result.

这时候会在文件中显示如下冲突的部分:

12345
<<<<<<< HEADI am ssm test1 and hmaster.=======I am ssm test1 and hAhA.>>>>>>> branch01


  1. 合并分支的策略

上面已经出现合并分支的模式有Fast-forward,这个模式是快速模式,在这个模式下删除分支之后分支的信息会被丢失。 所以可以禁用Fast-forward模式。

12
//合并的时候禁用Fast-forward模式,并作一次提交commitgit merge --no-ff -m "merge with no-ff" branch01

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!