我正在使用git。并恢复隐藏的变化,但得到CONFLICT
$ gn
# On branch feature/improve_list
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
#1 modified: ../lib/Devel/DebugHooks.pm
#
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add <file>..." to mark resolution)
#
#2 both modified: ../lib/Devel/DebugHooks/Commands.pm
#
冲突内容:
$gd 2
index e043e7f,9cb31e5..0000000
--- a/lib/Devel/DebugHooks/Commands.pm
+++ b/lib/Devel/DebugHooks/Commands.pm
@@@ -130,12 -130,12 +130,21 @@@ sub _list
else {
printf $DB::OUT DB::can_break( $file, $line ) ? ' x' : ' ';
}
++<<<<<<< Updated upstream
# Print source line number
print $DB::OUT "$line:";
++=======
++
++
++ # Print source line number
++ print $DB::OUT "$line:";
++
++
++>>>>>>> Stashed changes
# Print source line
(my $sl = $source->[ $line ]) =~ s/\t/ /g; #/
$sl = " $sl" if length $sl > 1; # $sl(source line) have at least "\n"
为什么我会陷入冲突?对我来说一切都是一样的
如何编辑此文件以解决此冲突(我不明白要保留什么,删除什么以及有趣的评论意味着什么)
我应该使用哪些git命令将此CONFLICT标记为已解决?
答案 0 :(得分:0)
由于使用的间距不同,存在冲突。与更新的文件相比,您的存储文件在行前面的空格更少。
如何编辑此文件以解决此冲突
您可以使用自己喜欢的文本编辑器打开文件,并通过选择要保留的部分进行相应编辑。
我应该使用哪些git命令将此CONFLICT标记为已解决?
修复文件后,您不需要任何特定命令,因为尚未提交隐藏的更改。因此,您无需发出任何命令来解决冲突。
答案 1 :(得分:0)
它看起来像空白区别,可能在行终止符中。
有关如何配置它来处理此类事情的详细信息,请参阅the git documentation for line endings。(这取决于您使用的是哪个平台)。
根据平台的不同,您可能需要:
Linux, etc: git config core.autocrlf input
Windows: git config core.autocrlf true
这可以防止将来发生这类问题。
要修复当前问题,请运行适合您平台的这些配置命令,然后选择其中一组更改(简单方法:删除所有以“++”开头的行)。然后使用:
git add ../lib/Devel/DebugHooks/Commands.pm
将冲突标记为已解决。他们可以提交更改,也可以继续使用它们。
当你最终提交时,如果你在上面运行相关的“git config”命令,git应该为你修复行终止符。