18 Stimmen

Git erstellt einen neuen Zweig, der nur ein bestimmtes Verzeichnis und dessen Verlauf enthält, und schiebt ihn dann in das neue Repository

Ich möchte einen neuen Zweig in meinem Repository erstellen, der nur Dateien aus einem bestimmten Verzeichnis in Master enthält und seine Geschichte und verschieben Sie diesen Zweig in ein neues Repository.

...oder etwas Äquivalentes - zum Beispiel könnte es möglich sein, ein Verzeichnis in ein neues Repository in ein neues Repository zu verschieben, ohne einen Zweig zu erstellen.

Bis jetzt denke ich, dass das Folgende funktionieren wird, aber ich frage mich, ob es einen einfacheren Weg gibt.

1 - Erstellen Sie einen leeren Zweig:

git symbolic-ref HEAD refs/heads/<new-branch>
rm .git/index 
git clean -fdx

2 - Checken Sie ein Verzeichnis aus dem Master aus:

git checkout master <paths> ...
git add <paths> ...
git commit

3 - Verschieben Sie den Zweig in ein neues Remote:

git push -u <remote-URL> <new-branch>

4 - Führen Sie dann im neuen Repo den Zweig mit dem Master zusammen:

git checkout -t origin/<new-branch>
git checkout master
git merge <new-branch>
git branch -d afterimage
git branch -d -r afterimage

Ich versuche, etwas Ähnliches zu tun wie Unterverzeichnis in separates Git-Repository auslagern aber ohne die git filter-branch Durcheinander.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X