Основной вопрос: Как отключить репо из 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, но в любом случае я все равно хотел бы разорвать связь с источником.