Eine Datei im Git-Repository hat höchstens eine Historie, die viele Commits enthält. Nun möchte ich Datei [s] mit dem gesamten Verlauf, der von HEAD
verfolgen kann (mit dem gleichen AuthorDate/CommitDate), extrahieren und in eine neue leere Verzweigung schreiben (in der Lage, mit git checkout --orphan
zu erstellen).[Git] Wie extrahiere Geschichte von bestimmten Datei [s] und schreibe in neue leere Zweigstelle?
Ich weiß, dass git filter-branch
Potenzial hat, das zu tun, jedoch weiß ich nicht, wie es für mich zu mächtig ist.
Wie spezifiziert man Dateien, die auf 'git filter-branch' entfernt werden sollen? – yumetodo
'git filter-branch --index-filter 'git rm --cachiert --ignore-unmatch file1 file2 ...'". Siehe https://stackoverflow.com/q/872565/7976758, https://stackoverflow.com/q/17993505/7976758, https://stackoverflow.com/search?q=git+filter-branch+remove+files – phd
Danke! Ich habe BFG Repo-Cleaner verwendet und bin Ihrem Ansatz gefolgt. Danach nutze ich git rebase, um leere Commits zu entfernen, die von BFG Repo-Cleaner verursacht wurden. – yumetodo