Имам проблем с git (през git на костенурка), който показва някои файлове от моя проект като модифицирани, но те всъщност не са модифицирани. Проверих това, като направих нов клонинг на хранилището и, без да го пипам, вече имам git detect "модифицирани" файлове в новосъздаденото работно копие. Това е досадно, защото някои операции са блокирани (защото това би отменило моите „модифицирани“ файлове), но не мога да ги върна, изтриването+връщането също не работи. Комитирането на „промените“ работи, но не е идеалното решение.
Аз съм на Windows, използвам TortoiseGit 1.8.16.0 и Git 2.6.4. Използването на git status
директно също показва, че същите файлове са "модифицирани".
Това изглежда се случва само в директория на моя проект, която преди беше подмодул, но сега използвам git subtree. Така че по някое време премахнах изцяло подмодула (или поне така си мисля) и създадох поддърво.
Някой имал ли е същия проблем? Как мога да го поправя веднъж завинаги? (дори след извършване на „промените“, известно време по-късно, понякога седмици по-късно, ще имам други файлове или понякога същите файлове, които започват да показват същия странен проблем).
Ето резултата от diff на един от тези файлове: git diff app.config
diff --git a/Ozytis.Common/Web/app.config b/Ozytis.Common/Web/app.config
index 3686aab..f559fe7 100644
--- a/Ozytis.Common/Web/app.config
+++ b/Ozytis.Common/Web/app.config
@@ -1,25 +1,25 @@
-<U+FEFF><?xml version="1.0" encoding="utf-8"?>
-<configuration>
- <configSections>
- <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
- <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=ne
utral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
- </configSections>
- <runtime>
- <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
- <dependentAssembly>
- <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
- <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
- </dependentAssembly>
- </assemblyBinding>
- </runtime>
- <entityFramework>
- <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
- <parameters>
- <parameter value="v11.0" />
- </parameters>
- </defaultConnectionFactory>
- <providers>
- <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
- </providers>
- </entityFramework>
+<U+FEFF><?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <configSections>
+ <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+ <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=ne
utral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+ </configSections>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+ <entityFramework>
+ <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
+ <parameters>
+ <parameter value="v11.0" />
+ </parameters>
+ </defaultConnectionFactory>
+ <providers>
+ <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+ </providers>
+ </entityFramework>
</configuration>
\ No newline at end of file
За този файл разликата показва, че всички редове са променени. Въпреки това проверих с шестнадесетичен редактор с предишна и текуща версия на файла, линиите на ред са еднакви, всъщност всеки един байт е един и същ.
Освен това някои файлове показват, че само няколко реда са различни (но отново не са). Въпреки че целият файл има последователни емисии на редове.
git diff
? - person choroba   schedule 17.12.2015git diff app.config
diff --git a/Ozytis.Common/Web/app.config b/Ozytis.Common/Web/app.config index 3686aab..f559fe7 100644 --- a/Ozytis.Common/Web/app.config +++ b/Ozytis.Common/Web/app.config @@ -1,25 +1,25 @@ -<U+FEFF><?xml version="1.0" encoding="utf-8"?> -<configuration> - <configSections> [snip] - </entityFramework> +<U+FEFF><?xml version="1.0" encoding="utf-8"?> +<configuration> + <configSections> [snip] + </entityFramework> </configuration> \ No newline at end of file
PS: няма начин да се запазят редовете в коментарите? - person youen   schedule 17.12.2015git diff
изход към съдържанието на въпроса - person Zdeslav Vojkovic   schedule 17.12.2015git diff --ignore-space-at-eol
ще обясни проблема, ‹CR›‹LF› срещу ‹LF› - person user3159253   schedule 17.12.2015git status
? Ако е така, предполагам, че има грешка с вашия шестнадесетичен редактор или с вашата git инсталация - person houtanb   schedule 17.12.2015core.autocrlf
. Може също така да се наложи да коригирате принудително проблема с края на реда в нов комит. - person user3159253   schedule 17.12.2015