git如何解决冲突|4-19

简介: git如何解决冲突|4-19

1、git冲突的场景

情景一:多个分支代码合并到一个分支时;

情景二:多个分支向同一个远端分支推送代码时;

实际上,push操作即是将本地代码merge到远端库分支上。

关于push和pull其实就分别是用本地分支合并到远程分支 和 将远程分支合并到本地分支

所以这两个过程中也可能存在冲突。

 

git的合并中产生冲突的具体情况:

 <1>两个分支中修改了同一个文件(不管什么地方)

 <2>两个分支中修改了同一个文件的名称

两个分支中分别修改了不同文件中的部分,不会产生冲突,可以直接将两部分合并。

2、冲突解决方法

情景一:在当前分支上,直接修改冲突代码--->add--->commit。

情景二:在本地当前分支上,修改冲突代码--->add--->commit--->push

注:借用vim或者IDE或者直接找到冲突文件,修改。

 

3、实战演示

(1)情景

 本地库中两个不同分支,修改同一个文件同一代码块,两分支先后将修改合并到master分支上,master在合并第二个分支代码时,报错:合并冲突。

 

(2)本地库

<1>master分支

image.png

<2>建立两个分支

image.png

<3>两分支修改提交

aBranch分支:

image.png

bBranch分支:

image.png

(3)合并分支产生冲突

合并aBranch分支(将aBranch分支合并到当前master分支上):

image.png

注:

git merge:默认情况下,Git执行"快进式合并"(fast-farward merge),会直接将Master分支指向Develop分支。

使用--no-ff参数后,会执行正常合并,在Master分支上生成一个新节点。为了保证版本演进的清晰,建议采用这种方法。

再合并bBranch分支,产生冲突:

image.png

mergeTest.txt 文件内容:

image.png

(4)解决冲突

--->在当前分支上(master),找到冲突文件,直接修改冲突代码,add,commit。

image.png

相关文章
|
24天前
|
开发工具 git 开发者
git rebase的使用
通过这些思维导图和分析说明表,您可以更直观地理解Git rebase的概念、用法和应用场景。希望本文能帮助您更高效地使用Git rebase,提高代码管理的效率和质量。
50 17
|
8月前
|
存储 开发工具 git
Git 教程:解密 .gitignore 文件、合并分支、解决冲突、及 Git 帮助
如果你忘记了命令或命令的选项,你可以使用 Git 帮助。 在命令行中,有几种不同的使用帮助命令的方式: git command -help - 查看特定命令的所有可用选项 git help --all - 查看所有可能的命令 让我们看看不同的命令。
252 3
|
8月前
|
开发工具 git
【Git】—— 解决分支合并冲突
【Git】—— 解决分支合并冲突
|
8月前
|
开发工具 git
git代码合并、git解决冲突的方法?
Git是一种分布式版本控制系统,它提供了多种方法来合并代码和解决冲突。下面是两个常见的场景以及对应的操作步骤:
124 0
|
开发工具 git C++
Git - Git Merge VS Git Rebase
Git - Git Merge VS Git Rebase
62 0
|
存储 数据可视化 安全
Git:Git中的分支管理
Git:Git中的分支管理
|
程序员 开发工具 git
【Git】Git的分支操作
【Git】Git的分支操作
203 0
|
开发工具 git
【Git】 什么!?都快2023年了还搞不清楚 git rebase 与 git merge!?
前言 大家好,我是HoMeTown。 众所周知,在使用 git 进行项目版本管理中,当完成一个功能点的开发并将其合并到 dev 分支时,一般情况下我们会有两种方式进行合并:git merge 与 git rebase,二者都是将一个分支新的commits,合并到另外一个分支
336 0
|
开发工具 git
git分支
git分支
100 0
|
缓存 开发工具 git