【问题标题】:Print a list of conflicts that will result from a merge打印将由合并导致的冲突列表
【发布时间】:2015-11-19 05:10:19
【问题描述】:

我希望合并两个 git 存储库,但我被告知它们无法自动解决。

我想在终端中输入一系列命令,并从任一 repo 中阻止自动合并的文件中获取行列表。

我百分百肯定我不是第一个有这个问题的人(事实上,我想每个尝试过合并两个 git repos 的人都有这个问题)但是我很难找到一个简单的答案(或任何答案)。尽管如此,我确信答案存在并且可能很简单。 Git 通过算法确定不可合并的冲突,由于我们处理的是文本文件而不是量子现象,我不明白为什么在我实际合并两者之前很难观察哪些冲突是不可合并的。

我找不到任何东西的原因可能是因为没有人使用 git 来执行此操作,而我在合并 repos 时的工作流程与其他人的工作方式是正交的——如果是这种情况,请赐教!

谢谢!

【问题讨论】:

  • 在 Git 中,您可以尝试大多数事情然后撤消它们。我的问题是,你打算如何处理这个通过尝试合并和获取冲突无法做到的合并冲突列表?
  • 这主要是由于我对使用 git 的普遍不安(我知道,我知道)。
  • 完全正常。你会习惯的。

标签: git github merge


【解决方案1】:

Git 的一大优点是几乎所有事情都可以撤消。

进行合并、比较,然后放弃合并尝试。

  1. git merge -n blah-n 将确保未提交合并)
  2. git diff > conflicts.txt
  3. 利润!
  4. git reset --hard HEAD

你可以在第 2 步中做任何你想做的事情来调查冲突,第 3 步将把它全部扔掉。

如果以某种方式发生合并,您可以立即git reset --hard HEAD@{1} 撤消合并或稍后git reset --hard <id before the merge>

【讨论】:

  • 太好了,这正是我想要的!
猜你喜欢
  • 1970-01-01
  • 2015-08-23
  • 2018-08-30
  • 1970-01-01
  • 1970-01-01
  • 2015-01-06
  • 2014-04-08
  • 2019-07-05
  • 1970-01-01
相关资源
最近更新 更多