Основной вопрос: как мне отделить git-репо от источника, из которого он был клонирован?
git branch -a
шоу:
* master
remotes/origin/HEAD -> origin/master
и я хочу удалить все знания о происхождении и связанные с ним изменения.
Более длинный вопрос: я хочу взять существующее репозиторий Subversion и сделать из него несколько небольших репозиториев Git. У каждого из новых репозиториев git должна быть полная история только соответствующей ветки. Я могу обрезать репо до нужного поддерева, используя:
git filter-branch --subdirectory-filter path/to/subtree HEAD
но результирующее репо все еще содержит все ревизии отброшенных ныне поддеревьев в ветке origin / master.
Я понимаю, что мог бы использовать флаг -T для git-svn для клонирования соответствующего поддерева репозитория subversion. Я не уверен, будет ли это эффективнее, чем запускать несколько экземпляров git filter-branch --subdirectory-filter
копий git-репозитория позже, но в любом случае я все же хотел бы разорвать связь с источником.
--prune-empty
чего мне не хватало.