Возможный дубликат:
Как разделить репозиторий git с сохранением подкаталогов?
В какой-то момент я добавил свой код в существующий репозиторий git и с тех пор довольно много сделал для него, в то время как другой разработчик сделал коммит для других существующих файлов в репозитории. Теперь я хочу выделить свой код в отдельный репозиторий, но сохранить всю историю изменений для моих конкретных файлов.
Читая, что другие сделали для разделения кода, я смотрел на filter-branch
и выполнял --index-filter
или --tree-filter
с rm
командами для файлов, которые мне не нужны. Я не хочу использовать --subdirectory-filter
, так как это не подходит для подкаталога, содержащего мой код, в качестве верхнего каталога (также мы разделили один подкаталог). Ситуация усложняется тем, что некоторые файлы из исходного репозитория со временем немного перемещались, а некоторые файлы были созданы, а затем удалены. Это делает разработку списка rm немного... сложной задачей.
Я ищу способ отфильтровать все /кроме/ списка файлов/каталогов. Кто-нибудь знает, как это сделать?
git filter-branch --prune-empty --index-filter 'git ls-tree -r --name-only --full-tree $GIT_COMMIT | grep -v "^src/pyfedpkg$" |grep -v "^src/fedpkg" |grep -v "^git-changelog" | xargs git rm --cached -r' -- --all
- person jkeating   schedule 14.05.2011