Ich habe Probleme mit meinem Git auf einer Windows-Maschine. Ich habe immer einige Git-Dateien, die in jedem Repo geändert werden. Die Dateien, die als geändert angezeigt werden, sind gleich.
Wenn ich ein neues Repo klone und Tortoisegit zum Festschreiben benutze, sehe ich einige Dateien als modifiziert, selbst wenn ich nie eine einzige Datei im Repo berührt habe. "gitstatus" zeigt jedoch keine Änderungen
Jede Hilfe wird geschätzt. Vielen Dank
Prüfen Sie, ob die Änderungen lediglich Änderungen an den Dateiberechtigungen sind. Dies war der Grund in meinem Fall, dass sowohl TortoiseGit als auch Git Extensions unveränderte Dateien angezeigt haben.
Verwenden Sie git config core.fileMode false
, um ignorieren Sie chmod-Unterschiede (oder bearbeiten Sie direkt die Datei .git/config ).
Sie können dies auch als globale Konfiguration mit git config --global core.filemode false
festlegen.
Es ist ein Zeilenende-Problem. Stellen Sie dies auf Ihrem Windows-Rechner ein:
git config --global core.autocrlf true
Keiner der vorgeschlagenen Korrekturen funktionierte für mich. Ich hatte jedoch Cygwin installiert und TortoiseGit hat bei der Installation seinen Pfad gefunden. Ich habe das Problem mit der Installation des offiziellen Git-Pakets gelöst und den Pfad in TortoiseGit geändert.
Wenn Sie TortoiseGit mit Cygwin git ( nicht offiziell unterstützt ) verwenden, sollten Sie einige zusätzliche Installationsschritte ausführen:
Wählen Sie den Ordner [CYGWIN-INSTALL-PATH]\bin-folder
as git.exe aus.
Konfigurieren Sie die Umgebungsvariable HOME
in Windows, sodass Cygwin und TortoiseGit dasselbe Basisverzeichnis und dieselbe globale git-config verwenden. Verwenden Sie hier die normale Windows-Notation (z. B. C:\Users\USERNAME
). Standardmäßig verwendet TortoiseGit das Windows-Basisverzeichnis, das sich normalerweise unter c:\Users befindet, und Cygwin verwendet seine eigenen Basisverzeichnisse, die sich unter [CYGWIN-INSTALL-PATH]\home
befinden.
Konfigurieren Sie AutoCrLf
, dies ist erforderlich, da TortoiseGit und Cygwin Git unterschiedliche Standardeinstellungen haben. Der Standard in Cygwin Git ist true
.
Gehen Sie zu TortoiseGit, dem Abschnitt Advanced Settings
, und setzen Sie CygwinHack
auf true
, um die Cygwin-Problemumgehungen zu aktivieren.
Starten Sie neu.
Schritt # 4 ist entscheidend und hat das Problem für mich gelöst.
Referenz (siehe Cygwin Git Abschnitt): https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html
Ich hatte gerade dieses Problem und für mich erwies sich der Fix als recht einfach.
Stellen Sie sicher, dass derzeit keine git-Prozesse ausgeführt werden, und löschen Sie dann .git\index.lock
.
Danach wurde der geänderte Status meiner Dateien korrekt behandelt.