У меня есть следующий единый репозиторий с этой структурой:мерзавец хирургия - разделив хранилище и изменение структуры каталогов
my-repo/
foo/
contents-of-foo
bar/
contents-of-bar
baz/
contents-of-baz
other-contents
Я хотел бы получить следующую структуру, в идеале без потери истории/теги:
new-combined-repo/
contents-of-foo
bar/
contents-of-bar
baz/
contents-of-baz
и
my-other-repo
other-contents
Я немного застрял на том, как действовать. Я попытался это:
$ pushd path/to/my-repo/
$ git mv bar foo/
$ git mv baz foo/
$ git commit -m "Move bar and baz prior to repository extraction"
$ cd ..
$ git clone --no-hardlinks my-repo new-combined-repo
$ pushd new-combined-repo
$ git remote rm origin
$ git filter-branch --tag-name-filter cat --subdirectory-filter foo \
--prune-empty -- --all
$ git log --follow foo/bar/some-file
Это упала всю историю за some-file
до начала команды git mv
.
Лучшие предложения? ТИА.