【问题标题】:Visual studio code resolves some git conflicts on itselfVisual Studio 代码自行解决了一些 git 冲突
【发布时间】:2021-03-01 13:10:55
【问题描述】:

我的队友使用 VS Code。 很多时候,当发生冲突并且他们拉取时,他们会手动修复一些冲突,但似乎有些冲突会自行解决,这会导致代码出现非常非常大的问题。

这怎么可能?我经常在提交历史中看到大部分已删除的代码,他们声称他们没有手动删除。

VS Code 中是否有任何设置可能导致此问题?我真的需要解决这个问题。

【问题讨论】:

  • 我认为更大的问题是你说“经常我看到......”好像他们也没有看到一样。也许需要教他们如何发现和检查他们所犯的错误。

标签: git visual-studio-code conflict merge-conflict-resolution git-merge-conflict


【解决方案1】:

有时会发生 git 成功合并文本更改而没有在词汇级别没有意义的冲突。

但这应该不是问题,因为你的队友说它没有删除这些行,而你明确(?)说存在冲突。

一旦 git 检测到冲突,它就会启动一个编辑器,这里是VS Code letting the user fixes the conflicts,带有这个 UI:

所以用户必须做一个动作。如果用户在没有选择的情况下保存(我不记得在 VSCode 中是否可行),我认为如果没有用户在 VSCode 或合并提交中专门删除它,您最终不会删除部分文件。

因此,即使我在没有看到文件内容和差异的情况下无法确定,但对我来说,队友在没有注意到的情况下做了某事是一个错误。

更好的解决方案是与他重播合并以了解他所做的事情,因为您应该仍然在存储库中保留提交。

做:

  1. 在好地方创建一个分支(在您添加提交之前,他也这样做了)
  2. 推树枝他就拉。
  3. 他重置为合并前的提交(是否使用 reflog)
  4. 推送您的新提交
  5. 他拉,你一起解决冲突,你试着去理解。

【讨论】:

  • 我同意这最终是一个培训问题。 (有可能,但不太可能,问题是邪恶的自动合并。)让他们引导您完成他们所做的事情是向他们展示错误所在的最佳方式。如果这是一个邪恶的合并,那么向他们展示如何发现它也很重要。
猜你喜欢
  • 2016-11-08
  • 1970-01-01
  • 2014-10-19
  • 2014-04-01
  • 2021-10-08
  • 2015-10-15
  • 2013-01-28
  • 2018-04-19
  • 2014-09-17
相关资源
最近更新 更多