Git冲突标记出现在diff中,而不是先前提交的

时间:2017-05-01 02:44:18

标签: git git-merge-conflict

一位同事刚刚推动他们努力的结果,将两个分支机构(他们承认与之斗争)重组/合并到github。这里有点差异(温和编辑):

diff --git a/portal/settings.py b/portal/settings.py
index 17c5f3e..e416be9 100644
--- a/portal/settings.py
+++ b/portal/settings.py
@@ -61,14 +61,7 @@ SEARCH_FORM_FIELDS = {
         'DEFAULT_COLUMNS': [
             ('messageurl__id', True, True),
             ('messageurl__message_url', True, False),
-<<<<<<< 8e91d650bf61b6f5a6ee187356be5591a2c3d187
-<<<<<<< 606b67c41b35fbb57823d248755503090ca3de51
             ('messageurl__time_analyzed', True, False),
-=======
->>>>>>> Added search form for URL searching
-=======
-            ('messageurl__time_analyzed', True, False),
->>>>>>> Tidied up the URL search result page
         ],
         'ES_TEXTFIELDS': ['messageurl__message_url'],

仅仅从查看差异开始,您就假设先前的提交包含上述git冲突标记,并且此提交正在删除它们。但是,之前没有我能看到的提交中包含这些标记,我的同事向我保证他们没有提交存在合并冲突的文件。

怎么会发生这种情况?我总是假设git diff显示一行文本被删除,该行必须存在于存储库的先前提交中。

假设有一些奇怪的魔法可能导致这种情况,那么回购在某种程度上是否有被破坏的风险? (git fsck --full没有显示任何问题。)

1 个答案:

答案 0 :(得分:0)

  

我的同事向我保证,他们没有提交有合并冲突的文件。

我想如果我已经包含了#34;明知而且#34;在那里,这将是一个真实的声明。 :P

感谢torek的提示,我发现了添加了git冲突标记的修订版。所以当我以为他们没有出现在回购中时我就错了,这样神秘就解决了。因此,我没有理由认为回购已经损坏。

(顺便说一下,虽然我只在一个文件中显示了这些冲突标记的一个例子,但它们实际上是24个文件,在一个案例中,嵌套了5个级别。我对我的同事如何成功地感到有点好奇这样做,但我也害怕问...)