显示不同文件更新的 Git 冲突标记

2023-12-20

我们正在将Master合并到Feature Branch中,突然,我们观察到一些文件出现了冲突。

  1. 这些文件从未移至 Master
  2. 文件中的冲突标记在正确的部分显示 Head,但主标记显示来自完全不同文件的内容。

不确定 2. 如何可能?我们现在真的很害怕。

<?xml version="1.0" encoding="UTF-8"?>
<ApexPage xmlns=http://soap.sforce.com/2006/04/metadata>
<<<<<<<< HEAD:salesforce_sfdx/force-app/main/default/pages/xyz.page-meta.xml
    <apiVersion>53.0</apiVersion>
    <label>xyz</label>
========
    <apiVersion>55.0</apiVersion>
    <label>abc</label>
>>>>>>>> development:salesforce_sfdx/force-app/main/default/pages/abc.page-meta.xml
</ApexPage>

我在这里添加一个答案,并受到 @torek 答案的启发,提出了一个潜在的解决方案。

很明显,问题是由于 Git(错误地)推断发生了重命名,并决定采取相应的操作。目前还不清楚为什么,但 torek 建议使用git diff --find-renames为了进行故障排除,我阅读了手册并发现了两个可能对您有帮助的选项:

  1. 您可以告诉 Git 在查找重命名时要严格,仅将相同的文件视为重命名:

     git merge --find-renames=100% <rest of your merge command>
    
  2. 你可以告诉 Git 完全关闭重命名检测:

     git merge --no-renames <rest of your merge command>
    

要使这一切有意义,您需要知道的是 Git 仅在每次提交中存储整个项目树的快照。提交实际上并不存储为更改集,而是存储为完整的新快照。因此,每当您合并、挑选、查看日志、进行比较时,所有这些都是通过比较这些快照来完成的。重命名也不例外:您确实这样做了git mv提交中的内容不被存储,它是通过与前一个提交的差异来推断的,或者当存在多个时,可能在合并基础之间推断。有时这种推论会出错。

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

显示不同文件更新的 Git 冲突标记 的相关文章

随机推荐

  • Clojure 中的 = 和 ==

    在 REPL 上 如果我定义 def fits map vector take 10 iterate inc 0 然后打电话 2 nth fits 2 我变得虚假了 But 2 nth fits 2 返回真 这是预期的吗 我尝试了 clas
  • Android 蓝牙 java.io.IOException:连接被拒绝?

    我需要连接一个KwikBlue 2 模块开发套件 http www socketmobile com products embedded wireless communications kwikblue4 module 到安卓蓝牙聊天示例
  • 尝试向 Firestore 验证 Java 客户端时出现“凭据无法获取元数据”错误

    我把我的东西放在一起thought是你好世界火库Java 客户端身份验证 但它总是死掉 警告 您的应用程序已使用 Google Cloud SDK 中的最终用户凭据进行身份验证 我们建议大多数服务器应用程序使用服务帐户 如果您的应用程序继续
  • 插入 VARCHAR2 列时换行

    我有一个要求 我需要准备电子邮件数据 所以我填充将数据放入以 VARCHAR2 4000 作为定义的表列中 现在我想要的是 将其插入新行中任何我想要的位置 begin v email v email new line end 假设我正在一行
  • 使用jQuery控制视频标签

    因此 我想使用 jQuery 函数从链接的 REL 收集 URL 并将其传递给元素 收集 REL 并将其发送到 没有问题 但是从 jQuery 触发元素的加载和播放功能需要什么 这是我到目前为止所拥有的 function a compone
  • 如何在不换行的情况下执行“float: left”?

    我有一个容器box1具有一定的宽度 可能会根据其内容而变化 那个盒子里有box2它有固定的宽度 它可以是一个图标 旁边box2 我有box3带有一些文字 我希望文本使用右侧的所有可用空间box2 通过粘贴下面的 HTML 您将得到 到目前为
  • 替换先前 bash 命令中所有字符串的快捷方式

    man bash描述了一个非常有用的事件指示符 https www gnu org software bash manual bashref html Event Designators 字符串1 字符串2 快速替换 重复最后一个命令 将
  • 使用 HttpWebRequest 使用 multipart/form-data 发布数据/上传图像

    我正在尝试使用 ImageShack API 上传图像 要使用它 我应该POST图像使用multipart form data 我这样做就像 var postData var req HttpWebRequest Create http w
  • 错误:无法分配给引用或变量!角度 4 [重复]

    这个问题在这里已经有答案了 添加一些新的 html 代码后 我在 Angular 4 中遇到错误 之前表单工作正常 我尝试评论新代码 但它仍然不起作用 该怎么办 我研究了这个错误并尝试解决 但没有任何帮助 我也没有得到问题的确切位置 我的代
  • 在django中提交表单后重定向到索引页面

    除了添加产品数据后重定向回索引页面之外 一切正常 目前在我的数据保存后 它被重定向到127 0 0 1 8000 产品 add product add product 目前 当我的索引页面 add product html 加载时 我有一个
  • 后增量后 == 令人费解的行为[重复]

    这个问题在这里已经有答案了 有人在某个论坛帖子中假设 许多人甚至经验丰富的 Java 开发人员都无法理解下面的 Java 代码 Integer i1 127 Integer i2 127 System out println i1 i2 S
  • 在标准任务之前/之后自动运行自定义任务

    我经常想在运行其中一项标准任务之前进行一些自定义 我意识到我可以创建新任务 按照我想要的顺序执行现有任务 但我发现这很麻烦 而且开发人员错过他应该运行 my compile 而不是编译的机会很大 并导致难以修复错误 所以我想定义一个自定义任
  • EntityFramework Core 2.0 跳过加载专栏

    我使用 EF core 将一些文件保存到 MSSQL 数据库中 其结构如下 public class UploadedFile public int Id get set public string Source get set publi
  • 如何轻松地使用可能的幺半群并将值与自定义操作组合起来?

    基本上 我想做的手动定义是微不足道的 maybeCombine a gt a gt a gt Maybe a gt Maybe a gt Maybe a maybeCombine Nothing Nothing Nothing maybeC
  • vlcj:: 无法在 64 位操作系统中加载库“libvlc”

    我使用的是 64 位操作系统 Windows 7 并且我有 32 位 VLC 版本 1 1 8 我已经添加了这些库jna jar platform jar vlcj 1 1 5 1 jar 我无法使用 jVlc 进行流式传输 public
  • 如何使用 RecursiveIteratorIterator 忽略目录?

    我尝试了几种方法来忽略某些目录RecursiveIteratorIterator在文件系统上 举个例子 我想忽略以下目录 cache My Iterator看起来像这样 dirname is root directory new Recur
  • bash:打印 x 空行数

    有时我想一次创建大量空白 与特定字符略有不同 我尝试使用 for 循环来执行此操作 但我只是打印 n一旦有了这个实现 此外 实际打印的是实际的 n 字符而不是空行 有什么更好的方法来做到这一点 for i in 1 100 gt do gt
  • Nginx 反向代理中的 SSL 传递?

    是否可以使用带有 SSL Pass through 的 Nginx 反向代理 以便将请求传递到需要客户端证书身份验证的服务器 这意味着服务器需要有客户端服务器的证书 而不需要 Nginx 反向代理服务器的证书 不确定它在您的情况下能发挥多大
  • jquery dataTable分页未出现

    我正在与http datatables net http datatables net 在 Grails 应用程序中 这是我的初始化代码
  • 显示不同文件更新的 Git 冲突标记

    我们正在将Master合并到Feature Branch中 突然 我们观察到一些文件出现了冲突 这些文件从未移至 Master 文件中的冲突标记在正确的部分显示 Head 但主标记显示来自完全不同文件的内容 不确定 2 如何可能 我们现在真