Verschieben von Dateien in einem Git-Repository in einen Unterordner.
Beim Verschieben von Dateien in einer Versionsverwaltung ist es immer so eine Sache. Wer einfach die Dateien verschiebt, verliert die Historie.
Folgendes Beispiel, alle Dateien und Ordner sollen in den Unterordner „source“ wandern.
Die Dateien werden mit „git mv“ verschoben. Folgender Befehl erledigt dies.
for file in $(ls | grep -v 'source'); do git mv $file source; done;
Hierbei wird der Zielordner ignoriert. Der Rest wird verschoben, außer versteckte Dateien, d.h. .gitignore und Co bleiben an ihrem Platz.
Der Befehl muss über die Git-Bash ausgeführt werden, in der Eingabeaufforderung kommt es zu einer Fehlermeldung.
Das Ergebnis:
Git erkennt die Dateien anschließend als verschoben/umbenannt erkannt.