Unterschied zwischen git filter branch und git subtree?

8

Suchte throw SO für eine Antwort darauf. Kam über diesen älteren Thread, der keine Antworten zu geben schien. Diesen Thread neu triggern, in der Hoffnung, dass jemand es weiß!

Kann mir jemand den Unterschied sagen b / w git subtree und git filter-branch? Ich werde das gleiche Beispiel in der ursprünglichen Frage dafür verwenden:

%Vor%     
Dorian McAllister 03.08.2016, 05:36
quelle

1 Antwort

3

Ja, git subtree (eine Contrib-Shell) kann verwendet werden, um Repos zu spalten, wie in " Verwenden von Git-Teilbäumen für das Repository" beschrieben Trennung "von Stu Campbell .

Sie müssen jedoch den Code, den Sie in Ihrem geteilten Ordner dupliziert haben, entfernen:

%Vor%

Das unterscheidet sich von git filter-branch (ein nativer Git-Befehl), der das Abrufen der Repo-Historie neu schreibt nur solche Commits, die tatsächlich den Inhalt eines bestimmten Unterverzeichnisses betreffen.

Bedeutung: Es gibt keinen Code zu git rm , nachdem filter-branch ausgeführt wurde.
git filter-branch dupliziert keine Commits wie git subtree split tut: Es löscht ("filtert") alles, was nicht funktioniert Entsprechen Sie einem bestimmten Kriterium (hier ein Unterordnerpfad)

    
VonC 03.08.2016 06:44
quelle