У меня есть следующий единственный репозиторий с этой структурой:
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
.
Лучшие предложения?ТИА.