Podstawowe pytanie: jak oddzielić repozytorium git od źródła, z którego zostało sklonowane?
git branch -a
przedstawia:
* master
remotes/origin/HEAD -> origin/master
i chcę usunąć całą wiedzę o pochodzeniu i powiązane poprawki.
Dłuższe pytanie: chcę wziąć istniejące repozytorium subversion i zrobić z niego kilka mniejszych repozytoriów git. Każde z nowych repozytoriów git powinno mieć pełną historię tylko odpowiedniej gałęzi. Mogę przyciąć repozytorium tylko do poszukiwanego poddrzewa, używając:
git filter-branch --subdirectory-filter path/to/subtree HEAD
ale powstałe repozytorium nadal zawiera wszystkie wersje odrzuconych obecnie poddrzewów w gałęzi origin / master.
Zdaję sobie sprawę, że mógłbym użyć flagi -T do git-svn w celu sklonowania odpowiedniego poddrzewa repozytorium subversion. Nie jestem pewien, czy byłoby to bardziej wydajne niż późniejsze uruchamianie wielu git filter-branch --subdirectory-filter
kopii na repozytorium git repo, ale w każdym razie nadal chciałbym przerwać link do źródła.
--prune-empty
tego mi brakowało.