为什么会导致合并冲突?

2024-05-01

这是我的 git 存储库的初始快照

在树枝上master, file m1包含

L1

在树枝上dev, file m1包含

L1
L2

如果我尝试合并dev from master,这会导致冲突。

$ git checkout master
Switched to branch 'master'

$ git merge dev
Auto-merging m1
CONFLICT (content): Merge conflict in m1
Automatic merge failed; fix conflicts and then commit the result.

$ git diff
diff --cc m1
index 078f94b,9f46047..0000000
--- a/m1
+++ b/m1
@@@ -1,1 -1,2 +1,5 @@@
  L1
++<<<<<<< HEAD
++=======
+ L2
++>>>>>>> dev

虽然我没有修改第2行m1 in master,如何导致冲突?

要验证文件的实际内容并确定这是否是由空格引起的:

在树枝上master

git branch
  dev
* master

$ xxd m1
0000000: 4c31 0a                                  L1.

在树枝上dev

$ git checkout dev
Switched to branch 'dev'

$ xxd m1
0000000: 4c31 0a4c 320a                           L1.L2.

这是我用来创建此存储库的脚本。

#!/bin/bash

mkdir git_demo
cd git_demo
git init

touch m1
git add .
git commit -m "Added file: m1"
# sleep is needed, otherwise a different repo is being created, probably because of *some* filesystem issue!
sleep 1

git branch dev
echo L1 >> m1
git add .
git commit -m "Added line L1 to m1"
# sleep is needed, otherwise a different repo is being created, probably because of *some* filesystem issue!
sleep 1

git checkout dev
echo L1 >> m1
git add .
git commit -m "Added line L1 to m1"
# sleep is needed, otherwise a different repo is being created, probably because of *some* filesystem issue!
sleep 1

echo L2 >> m1
git add .
git commit -m "Added line L2 to m1"
# sleep is needed, otherwise a different repo is being created, probably because of *some* filesystem issue!

gitg --all
git checkout master
git merge dev

答案是有一个conflict因为没有任何merge-base https://git-scm.com/docs/git-merge-base提交 2 个分支。

以下是如何以更少的步骤生成问题。
创建孤儿分支(孤儿分支是没有任何历史记录的分支)

您可以在这里看到它们不共享同一棵树

[enter image description here]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么会导致合并冲突? 的相关文章

随机推荐

  • 未找到列:1054 未知列 laravel

    所以我尝试用 laravel 制作一个表单 但除了新版本之外 他们删除了表单 但我可以让它运行 所以这里是 Route post register function user new User user gt u n Input get u
  • URL中的gs_upl是什么意思?

    在任何谷歌搜索 URL 中 gs upl 是什么意思 例如 那么 gs upl 1045l1663l0l3648l4l4l0l0l0l0l258l682l0 3 1l4l0 在这里意味着什么 从构建的脚本gs upl j 我找到 funct
  • jquery脉动文本

    我正在使用 jquery 来使文本脉动 一切都很好 但我无法理解某些事情 我只想脉动 x 次 然后停止 我正在使用以下代码来使类产生脉动 document ready function function pulsate pulsate an
  • 何时使用Statement而不是PreparedStatement?

    何时使用语句而不是准备好的语句 我想在没有参数的查询中使用语句 但为什么不使用准备好的语句 对于没有参数的查询 哪一个更快 我想在没有参数的查询中使用语句 但为什么不使用准备好的语句 那还差得远 PreparedStatements 用于返
  • aria2c - 有什么办法只保留失败下载的列表吗?

    我在用aria2c下载以文本文件形式组织的相当大的 url 列表 6000 基于此gist https gist github com jonbakerfish 0f7877c050b648169e0958ea2e2c6aca 我使用以下脚
  • 为什么 golang 堆配置文件中的“Total MB”小于顶部的“RES”?

    我有一个用 go 编写的服务 在运行时需要 6 7G 内存 RES 在顶部 所以我使用 pprof 工具试图找出问题所在 go tool pprof pdf http
  • 从 DOM 中删除一行后更新 jQuery Tablesorter 插件

    我目前有一些代码隐藏已删除的行 然后使用 remove 函数将其删除 然而 我很难让它保持 删除 状态 因为每次我刷新表排序分页器插件或我正在使用的过滤器插件插件时 删除的行会重新出现 因为它们当然被缓存了 目前的代码很简单 目前有小部件更
  • 使用 ls 和 grep 列出具有特定扩展名的文件

    我只想从当前目录获取文件 并且只输出 mp4 mp3 exe 文件 没有其他内容 所以我想我可以这样做 ls grep mp4 grep mp3 grep exe 但不会 因为第一个 grep 将仅输出 mp4 因此其他 2 个 grep
  • 如何更改詹金斯主目录位置?

    简单的问题 如何更改jenkins主目录位置 默认情况下它指向 var lib jenkins 而我希望它指向 mnt home jenkins 我已将 JENKINS HOME 更改为 mnt home jenkins 但这对我没有帮助
  • 防止 .Net MVC WS-Federation 站点中的 XmlHttpRequest 重定向响应

    我在 MVC 3 站点上使用 WS 联合 声明感知 身份验证 并且在身份验证失败时无法阻止某些发送 JSON 的 API 控制器返回重定向 我有一个名为 API 的区域 其中有几个仅返回 JSON 的控制器 这些控制器都继承自同一个基类 我
  • 使用 SVM 预测概率

    我编写了这段代码并想获得分类的概率 from sklearn import svm X 0 0 10 10 20 30 30 30 40 30 80 60 80 50 y 0 1 2 3 4 5 6 clf svm SVC clf prob
  • 在 SVG 中使用变换模拟枢轴旋转

    我在 SVG 中有一个矩形 需要从特定点绕轴旋转 我能想到的最好方法是变换到枢轴的 xy 旋转角度 然后再次变换 问题是第二个变换的 xy 我认为它会在某种程度上采用 cos 和 sin 只是不确定在哪里或为什么 会旋转 90度到 也许我以
  • 如何让我的网络爬虫通过C#登录到这个网站

    我有一个应用程序可以读取网站上的部分源代码 这一切都有效 但问题是该页面需要用户登录才能访问该源代码 我的程序需要一种方法来最初使用户登录到网站 完成后 我将能够访问和阅读源代码 需要登录的网站是 mmoinn com index do P
  • 如何将导入的命名空间提供给 CompileAssemblyFromSource

    我正在尝试将 VB 源文件加载到内存中 但是 VB 文件假定与其关联的项目具有在项目级别定义的一些全局 导入的命名空间 此 VB 功能允许单个文件在每个文件上省略 Imports 语句 在 C 中使用 Dim sourceCode As S
  • 在python 2.7中打印阿拉伯/波斯字母[重复]

    这个问题在这里已经有答案了 在下面的代码中 Python 似乎不支持阿拉伯字母 有任何想法吗 usr bin python coding utf 8 import nltk sentence tokens nltk word tokeniz
  • 如何在 ssh 命令中使用长输入参数正确转义 qsub 命令?

    我有一个复杂的 qsub 命令可以远程运行 PROJECT NAME TEXT TEST PROJECT PACK ORGANIZATION source organization MY ORGANIZATION CONTACT NAME
  • App Engine 中超时异常的名称是什么?

    出于某种原因 我的印象是它只是被称为 超时 但事实似乎并非如此 Thanks 对于数据存储区调用 例外情况是 google appengine ext db Timeout 对于超出的总 挂钟 持续时间 例外情况是 google appen
  • 在网站上集成 api.ai 聊天机器人 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想在我的网站上安装一个聊天机器人 其对话风格类似于 Facebook Messenger 我希望它作为聊天窗口位于同一页面上 而不是
  • 使用 Indy 组件实现 SNMP SendTrap

    我需要通过 SNMP 在 C Builder 上报告我的应用程序的错误 我开始使用 Indy 组件实现 SNMP SendTrap void fastcall TMainForm btSendTrapClick TObject Sender
  • 为什么会导致合并冲突?

    这是我的 git 存储库的初始快照 在树枝上master file m1包含 L1 在树枝上dev file m1包含 L1 L2 如果我尝试合并dev from master 这会导致冲突 git checkout master Swit