Ich verstehe den Unterschied zwischen git rm --cached
und git update-index --assume-unchanged
nicht.
Ich bin mir bewusst, dass git rm --cached <file>
eine Datei aus dem Staging-Bereich entfernt.
Und ich weiß, dass git update-index --assume-unchanged <file>
dies auch tut.
Ich habe auch beide Befehle als Vorschläge für ähnliche Fragen hier auf SO gesehen.
Gibt es einen anderen Effekt von einem dieser beiden Befehle, der sie anders macht?
Der Befehl
%Vor% wird verwendet, um Dateien in einem Git-Zweig zu entpacken. Dieser Befehl entfernt file
aus dem Staging-Bereich und auch entfernt die Datei beim nächsten Commit aus dem Repository.
Der Befehl
%Vor% bewirkt auch, dass file
aus dem Staging-Bereich verschwindet. Dieser Befehl ist jedoch anders, weil er Git anweist, nur vorübergehend alle Änderungen zu ignorieren, die an file
vorgenommen wurden. Wenn Sie also die Datei festschreiben, bleibt sie ein Teil des Repositorys, vorausgesetzt, sie ist bereits vorhanden. Wenn Sie möchten, dass Git die am file
vorgenommenen Änderungen wieder sieht, können Sie Folgendes ausführen:
Dies wird die Datei an den Staging-Bereich zurückgeben, wenn sie dort war, als Sie assume-unchanged
früher ausgeführt haben.
Hier ist ein Link für git rm --cached
, und hier ist ein Link für git update-index --assume-unchanged
.