`
阿尔萨斯
  • 浏览: 4269393 次
社区版块
存档分类
最新评论

Git学习系列(六)解决分支冲突及分支管理策略

 
阅读更多

解决分支冲突

通常当Git无法自动合并分支时,就必须首先解决冲突后,再提交。

下面咱们先创建一个分支并切换到b1分支:


修改咱们之前的hellogit.txt内容,添加一行:Create a new named f1 branch


查看该文件的状态,并提交至本地仓库:


然后切换至master分支:


然后在master分支上把hellogit.txt文件的最后一行改为:switch to master.

最后在master分支上提交:


现在,master分支和b1分支各自都有自己新的提交,这种情况下,Git无法执行想上一章一样进行“快速合并”,只能试图把各自的修改合并起来,但这种合并就可能会有冲突。


Git告诉我们,hellogit.txt文件存在冲突,必须手动解决冲突后再提交,通过git status可以告诉我们冲突详情:


可以看到hellogit.txt在两个分支上都没修改且这两个分支没有merge,下面来看看helligit.txt的内容:


Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,我们修改如下后保存:Create a new named f1 branch;再提交:


好了冲突已经解决并提交了,那么现在就可以删除b1分支了:


小结:当Git无法自动合并分支时,就必须首先解决冲突后,再提交。


分支管理策略:

现在我们仍然创建并切换至b1分支:


然后修改一下hellogit.txt的内容,再提交:


然后回到master主分支上:


这时,我们merge加上两个参数:--no-ff参数(表示禁用“Fast forward”),-m(和comimt一样,为merge新提交时的信息):
使用--no-ff好处是:能看出来哪些分支曾经做过合并。


合并后,我们用git log看看分支历史:


小结:合并分支时,Git会默认使用“Fast forward”模式,但这种模式下,删除分支后,会丢掉分支信息。
在实际工作中,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面进行开发,一般都是依赖(你和你的同事)各自的分支去进行新的feature开发或解决新的bug,有需要的时候再merge一下就可以了。

分享到:
评论

相关推荐

    Git的使用文档--分支管理与冲突解决

    Git服务器从搭建到使用,很详细~这个是分支管理与冲突解决

    史上最全的git解决冲突

    史上最全的eclipes git解决冲突方法,快来下载下载!!!!

    idea+git合并分支解决冲突及详解步骤

    主要介绍了idea+git合并分支解决冲突及详解步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Git 版本管理 8 分支冲突 (merge) (教学 教程 tutorial)

    Git_版本管理_#8_分支冲突_(merge)_(教学_教程_tutorial)

    git 代码管理与版本管理.docx

    Git 代码管理与版本管理 Git 代码管理与版本管理是...Git 代码管理与版本管理是软件开发过程中不可或缺的一部分,了解 Git 的基本概念、工作流程和分支管理可以帮助开发团队更好地管理代码,提高协作效率和代码质量。

    Git分支合并冲突解决的方法实现

    主要介绍了Git分支合并冲突解决的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    git协同冲突解决1

    1.不同人修改了不同的文件 a.账户A,账户B分别从远端拉取了相同分支 b.账户A修改了main.cpp文件后提交到远端,账户B修改fun.cpp文

    Git 版本管理 9 分支冲突 (rebase) (教学 教程 tutorial)

    Git_版本管理_#9_分支冲突_(rebase)_(教学_教程_tutorial)

    git分支操作.txt

    gti详细的分支操作,在git中,可以使用git merge 和git rebase两个命令来进行分支的合并。 git merge 和git rebase在大体上都差不多,下文主要以git merge来例来讲解分支的合并流程。 如果你想了解分支合并的更多...

    git 常用的一些命令

    如果有冲突,需要手动解决分支冲突。 9. Git stash 命令 使用 git stash 命令可以把当前工作现场“储藏”起来,存储当前的工作进程,可以创建分支进行程序旧代码的 bug 修复。使用 git stash list 命令可以查看 ...

    GIT版本、分支管理说明文档V1.0.docx

    GIT 版本、分支管理说明文档 V1.0 GIT 版本控制是软件开发过程中非常重要的一步,它可以帮助开发者跟踪代码的变化,确保软件的各个组成部分之间的一致性关系,并提供了版本管理和分支管理的机制。本文档提供了 GIT ...

    Git权威指南PDF完整版

    26.2.1 Git 库配置文件的扩展及分支映射/ 387 26.2.2 Git工作分支和 Subversion 如何对应/ 388 26.2.3 其他辅助文件/ 390 26.3 多样的 git-svn 克隆模式/ 390 26.4 共享 git-svn 的克隆库/ 393 26.5 git-svn 的局限/...

    Git-1.8.chm Git-1.8英文API Git文档工具

    Git的功能特性:  从一般开发者的角度来看git有以下功能:  1:从服务器上克隆... 8:一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。 Git API下载

    git项目管理 git flow

    这种模式的优点是分支管理简单,合并代码冲突少,开发周期短。但是,它也存在一些缺点,如对团队技术要求严格,容易污染主分支代码。 分支开发模式 分支开发模式是对主干开发模式的改进,它分为两种:主干开发,...

    Git教程——merge 分支冲突

    文章目录1.merge 分支冲突 1.merge 分支冲突 今天的情况是这样, 想象不仅有人在做开发版 dev 的更新, 还有人在修改 master 中的一些 bug. 当我们再 merge dev 的时候, 冲突就来了. 因为 git 不知道应该怎么处理 ...

    基于Git的软件项目管理配置方法及应用实践.pdf

    :Git分布式特性和分支管理能力适用于大型软件项目,每个分支彼此独立,互不影响。为提高碳化硅外延设备控制系统的精 度、实时性、稳定性,提出一种基于Git进行配置管理的方法。介绍Git的特点、环境配置和常用操作;...

    Git使用手册.pdf

    8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。 从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能: 1、查看邮件或者通过其它方式...

    Git&GitHub;学习笔记

    协同修改  多人并行不悖的修改服务器端的同一个文件。  数据备份  不仅保存目录和文件的当前状态,还能够保存每一个提交过... 分支管理  允许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率。

    vim-merginal, 用于管理和合并Git分支的逃犯扩展.zip

    vim-merginal, 用于管理和合并Git分支的逃犯扩展 简介Merginal为处理Git分支提供了一个不错的inteface 。 它提供交互式的TUI用于:查看分支列表从该列表签出分支创建新分支删除分支合并分支分支分支解决合并冲突遥控...

    Git基础用法

    Git基础用法 1 一、 Git是什么 1 二、 SVN与Git的最主要的区别 1 三、 安装Git 2 1、 Windows下安装git 2 2、 mac下安装git 2 ...3、 分支管理策略 24 4、Bug处理 26 5、 多人协作 29 五、 git基础命令 33

Global site tag (gtag.js) - Google Analytics