2016-11-04 49 views
2

我目前使用Windows,當我使用Linux(Fedora)時,這種情況不會發生,但它只發生在Windows上。當我在git bash上運行gulp命令時。對於許多文件,這些更改如下所示:運行gulp通過刪除並添加相同的內容來更改文件

@@ -1,6 +1,6 @@ 
-{ 
-  "globalDependencies": { 
-    "angular": "registry:dt/angular#1.5.0+20160509150441", 
-    "jquery": "registry:dt/jquery#1.10.0+20160417213236" 
-  } 
-} 
+{^M 
+  "globalDependencies": {^M 
+    "angular": "registry:dt/angular#1.5.0+20160509150441",^M 
+    "jquery": "registry:dt/jquery#1.10.0+20160417213236"^M 
+  }^M 
+}^M 

我盡我所能找到了解決此問題的方案。這不會導致錯誤,但只是當我嘗試提交時會引起我的煩惱,因爲這不是我想要做的改變。

回答

0

它看起來像行尾字符正在改變爲文件系統,即Windows上的CRLF(回車,換行)或Linux上的LF(換行)。當您在Linux上使用CRLF打開文件時,CR顯示爲^M

您可以創建一個.gitattributes文件,並設置行字符與結尾:

*.json eol=lf 
*.js eol=crlf 

您還可以添加一飲而盡插件,重置行結束你想要的格式。

從Bash終端運行unix2dos對該文件,看看^M是否消失,這將確認這是一個EOL字符問題。

+0

所以這不是GULP的問題? –

+0

我的猜測是,Gulp(或者Gulp的一個插件)正在改變行結尾,並且可能有一種方法可以根據它發生的具體情況來阻止它,但是可能更容易告訴git首選格式或添加另一個Gulp插件強制它到您的首選行結束。 –