Ich habe ein Git-Repository, dessen Struktur wie folgt aussieht:
+--repo.git
|
+----+bootstrap.py
+----+buildout.cfg
+----+.gitignore
+----+webapp
|
+---------+manage.py
+---------+modules
+---------+templates
+---------+static
+---------+...
+---------+...
Ich möchte den Inhalt des webapp
Ordners um eine Ebene nach oben verschieben. Mein resultierendes Repo sollte folgendermaßen aussehen:
+--repo.git
|
+----+bootstrap.py
+----+buildout.cfg
+----+.gitignore
+----+manage.py
+----+modules
+----+templates
+----+static
+----+...
+----+...
Kann ich dies tun, indem ich einfach alle Dateien des webapp
Verzeichnisses um eine Ebene nach oben verschiebe, das leere webapp
Verzeichnis lösche und dann die Änderungen festschreibe? Würde dies den Festschreibungsverlauf der Dateien im webapp
Verzeichnis beibehalten ?
Obwohl dies für viele von Ihnen eine sehr einfache Frage ist, möchte ich sicher sein. Das Letzte, was ich möchte, ist eine Git-Suppe.
Ich habe versucht, die Dateien zu verschieben, aber ich habe den Commit-Verlauf verloren, da git eine Verschiebung oder Umbenennung nicht wirklich handhabt. Ich weiß, dass es, obwohl es als neue Datei in den Protokollen angezeigt wird, immer noch möglich ist, den Festschreibungsverlauf für die Datei mithilfe einiger Optionen in anzuzeigen git log
.
Nach dem, was ich gelesen habe, wäre der beste Weg, dies zu erreichen, die Verwendung git-filter
. Ich bin nicht sehr gut mit Shell oder Git, also könnte mir jemand sagen, was ich ausführen müsste, um das oben Genannte zu tun.
git mv
verschoben wurden. Sie können dies überprüfen, nachdem Sie die neuen Dateien mitgit add
using hinzugefügt habengit status
.