Ich spalte einen Git Repo in 3. Ich habe Detach (move) benutzt Unterverzeichnis in ein separates Git-Repository , um den Ordner zu trennen und sie erfolgreich an neue Git-Repos zu übertragen. In dem vorhandenen Repo habe ich den folgenden Befehl verwendet, um die verschobenen Verzeichnisse zu löschen.
%Vor% Wenn ich jetzt git st
für den ursprünglichen Repo mache, bekomme ich:
Wenn ich git push
versuche, bekomme ich:
Ich nehme an, dass -f: git push -f origin <branch>
aber ich möchte sicher gehen, da dies mein bestehendes Repo ändern wird.
Ihre Verwendung des Filterzweiges hat Ihr Repository anders als das entfernte gemacht. Während Sie beobachten, weist die Fernbedienung Ihren Push mit einer Warnung darauf zurück. In diesem Fall planen Sie, das Repository gewaltsam so zu ändern, dass es Ihrer gefilterten Version entspricht. So können Sie mit dem Force-Flag weitermachen. Sie sollten publizierte Repositories nicht ändern - aber Sie können, wenn Sie wollen. Denken Sie daran, dass jeder, der einen Klon hat, benachrichtigt werden muss - aber wenn es keine anderen gibt - dann mach weiter.
Wenn Sie wirklich vorsichtig sein wollen - machen Sie jetzt einen anderen Klon des Originals. Dann mach deinen Stoß. Wenn etwas schief geht - kann es immer wieder mit push --mirror
aus dem Backup-Repository erzwingen.
Tags und Links git git-filter-branch