我将为您提供一个简化版本的内容,让您了解当前情况。我尝试过不同的解决方案,但是我甚至不确定我的问题源自何处。
我对分支B进行了一些修改,该分支是上游存储库分支A的一个分支。然后,我尝试Pull Request以合并A和B。
在创建此PR时,出现了一些冲突,因此我尝试解决它们。但是,在尝试这样做时,我通过git diff意识到一些文件显示为所有行已删除并重新添加: @@ -977,16 +977,16 @@ p#splash-text span {
为了获得最小的示例,我中止了合并,然后从上游A中拉取到一个新分支C。
现在,我正在C分支上,如果我打开有问题的文件并保存而不进行修改,我会得到以下
我对分支B进行了一些修改,该分支是上游存储库分支A的一个分支。然后,我尝试Pull Request以合并A和B。
在创建此PR时,出现了一些冲突,因此我尝试解决它们。但是,在尝试这样做时,我通过git diff意识到一些文件显示为所有行已删除并重新添加: @@ -977,16 +977,16 @@ p#splash-text span {
为了获得最小的示例,我中止了合并,然后从上游A中拉取到一个新分支C。
现在,我正在C分支上,如果我打开有问题的文件并保存而不进行修改,我会得到以下
git diff
结果:@@ -977,16 +977,16 @@ p#splash-text span {
.other div#carshare .box.active {
background-color: green;
-}
-
-.other div#bluephone .box.active {
- background-color: #2880ca;
-}
-
-.box_col {
- vertical-align: middle;
-}
-
+}^M
+^M
+.other div#bluephone .box.active {^M
+ background-color: #2880ca;^M
+}^M
+^M
+.box_col {^M
+ vertical-align: middle;^M
+}^M
+^M
.leaflet-control-locate a {
padding: 3px 0px 0px 0px;
}
我阅读了很多关于行尾的文章,发现'^M'是Windows放置的行尾符,但其他贡献者在Linux下工作,所以我对他最近的修改为什么在我的本地有'^M'感到有些困惑。
既然我在Linux上,我尝试了以下操作:
git config --global core.autocrlf input
我还尝试将其设置为true
,但没有解决我的问题。
其他贡献者没有设置autocrlf
,所以这可能是问题所在?
现在,如果我进行小的修改,但运行git diff --ignore-space-at-eol
,我会得到以下结果:
@@ -697,7 +697,7 @@ div#otp-planner-optionsWidget-scollPanel {
padding:10px;
}
-.otp-layerView-inner fieldset { border-top:1px solid #000; }
+.otp-layerView-inner fieldset { border-top:1px solid gray; }^M
.otp-layerView-inner fieldset legend { text-align:center; }
我想提交并推送这个更改,但不希望任何行结尾也跟着改变。
有没有一种方法仅提交此单个更改,而不是由行结尾引入的所有更改?
或者如何不产生所有这些更改?
我阅读了git config的手册和其他关于空格的问题,但给出的解决方案似乎不起作用或不适用于我的情况。
如果你对如何解决这个问题并且避免将来出现类似问题有任何建议,请让我知道。