我有這種結構下單庫:混帳手術 - 拆分庫和修改目錄結構
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
這已經拋棄了所有的歷史記錄之前git mv
命令some-file
。
更好的建議嗎? TIA。