`

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 在Intellij 上解决git冲突

    Git在IntelliJ IDEA上解决冲突的详细指南 ...通过以上步骤和策略,你可以在IntelliJ IDEA中有效地管理和解决Git冲突,确保团队协作的顺利进行。记得在解决冲突后进行充分的测试,以确保代码的正确性和完整性。

    git仓库迁移(所有分支)脚本,git合并dev分支到master分支脚本

    在开发过程中,Git仓库的迁移和分支管理是非常常见的操作。下面将详细讲解如何进行Git仓库迁移以及如何合并dev分支到master分支。 **一、Git仓库迁移** 1. **克隆仓库**:首先,你需要在新的服务器或本地目录上...

    git 分支管理

    ### Git分支管理详解 #### 一、分支的重要性与特点 几乎每种版本控制系统都支持分支功能,但在Git中,分支的使用方式与效率达到了前所未有的高度。传统的版本控制系统在创建分支时,通常需要复制整个项目的代码库...

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

    通过以上步骤,可以有效地在Idea中管理和合并Git分支,同时解决可能出现的冲突,确保代码库的整洁和团队协作的顺畅。了解这些操作对于日常开发和团队协作至关重要,有助于提升开发效率和代码质量。

    git add 0 Git版本控制系统中分支合并与冲突解决方案

    并且提供了处理分支冲突的具体步骤:先使用git pull更新远程变更,如果有冲突则需要手动解决,确保没有错误后再做最后一次的git push。 适合人群:有一定编程和Git基础知识的人群,特别是初学者和技术新人。 使用场景...

    git分支版本管理.pdf

    以下是对"git分支版本管理.pdf"中提到的知识点的详细说明: 1. **主分支(master)**: 主分支代表了项目的正式发布版本,通常是最稳定的代码库,只包含已验证并上线的代码。 2. **开发分支(dev)**: 开发分支...

    分支管理规范-GIT分支流程开发规范

    有效的Git分支管理规范能提高团队的协作效率,减少错误和冲突。通过遵循以上流程,开发团队可以更好地组织代码开发、测试和发布,确保项目的顺利进行。随着时间的推移,团队可以根据自身需求对这些规范进行调整和...

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

    本文将深入探讨Git分支合并冲突的解决方法,以便更好地理解和管理这些冲突。 首先,我们需要理解Git的两种主要合并策略:`merge`和`rebase`。`merge`策略保留了分支的历史,形成一个网状的提交历史,而`rebase`则...

    git分支原理命令图文解析

    在深入探讨Git分支的具体操作之前,首先需要理解Git是如何管理和维护不同版本的。Git通过一系列的指针(称为引用,通常简称ref)来追踪项目的不同版本。每个提交(commit)实际上都是一个对象,包含了上一个版本的...

    Git学习指南完整版

    随着学习的深入,学习者将了解如何在团队开发中有效地使用Git,包括如何解决合并冲突、如何进行代码审查(code review),以及如何利用Git的钩子(hook)和插件(plugin)等功能进行自动化的工作流程优化。...

    Git实战学习视频教程 Git多场景应用学习 Git服务器和远程分支 Git多人协作开发项目

    我们将学习如何创建、切换和合并分支 (`git branch`, `git checkout`, `git merge`),以及解决合并冲突的策略。 3. **Git服务器和远程仓库**:理解如何配置Git远程仓库至关重要,因为这使得团队协作成为可能。我们...

    07.Git分支规范1

    本篇文章将探讨一种常见的Git分支规范——GitFlow,并结合给定的现状分析,解释如何优化分支使用。 1. **现状与问题**: - **Master分支**:作为发布版本的源码,应始终保持稳定,但在实际操作中,master分支没有...

    Git学习系列基础教程

    - **冲突解决**:当多个人修改同一部分代码时,Git会识别冲突,需要手动解决后再提交。 - **标签管理**:使用`git tag`命令为特定版本打标签,方便标记重要里程碑。 - **配置别名**:通过`git config`设置命令别名,...

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

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

    (断开git服务器合并本地两个分支代码)Git操作技巧:本地合并两个分支代码详细步骤与冲突解决方法

    适用人群:从事软件开发工作的工程技术人员特别是有一定基础并对分布式版本控制系统Git有所涉猎但尚不熟悉多分支管理和冲突处理的人群。 使用场景及目标:适用于开发项目里当开发者同时拥有多个特性或者修复bug的...

    git的使用葵花宝典,模块化开发,git flow,代码冲突的解决,GitLabWeb

    Git flow是一种广泛使用的Git分支管理策略,特别适用于大型团队开发。其核心概念包括: 1. **master分支**:代表项目的稳定版本,仅包含已发布的代码。 2. **develop分支**:代表项目的开发版本,包含正在进行的...

    详细Git教程资源,包括基础操作、远程仓库管理、分支策略、冲突解决等 专业指导,助您掌握Git工具的使用技巧

    详细Git教程资源,包括基础操作、远程仓库管理、分支策略、冲突解决等。专业指导,助您掌握Git工具的使用技巧 深度Git教程资源,涵盖Git基础至专家级操作,包括分支管理、团队协作、冲突解决策略等。专业指导助您...

    git学习的PDF

    4. 解决冲突:当合并时遇到冲突,需手动编辑冲突文件,解决后提交。 四、远程仓库操作 1. 链接远程仓库:`git remote add origin &lt;url&gt;`,将本地仓库与远程仓库关联。 2. 推送本地分支:`git push -u origin ...

Global site tag (gtag.js) - Google Analytics