我有一个git存储库,我想将其转换为两个git存储库,但是拆分并不像git filter-branch --subdirectory-filter
所希望的那么简单。
myRepo/
a-main.js
b-main.js
a-other.js
tests/
a-tests.js
b-tests.js
我想做的是获取另一个只有a-*
个文件的存储库。 请注意,为了清楚起见,我只是这样命名它们,实际文件没有共同的模式。只有少数,所以单独列出它们没有问题。
我尝试了什么:
git clone --no-hardlinks ~/myRepo ~/myRepoA
cd ~/myRepoA
git filter-branch --tree-filter "rm b-main.js tests/b-tests.js" \
--prune-empty HEAD
但是这给出了这个输出
Rewrite 4ce7... (1/46)rm: cannot remove `b-main.js': No such file or directory
rm: cannot remove `tests/b-tests.js': No such file or directory
tree filter failed: rm b-main.js tests/b-tests.js
奖励积分:
完成此操作后,如何将其推送到Github上的新存储库?
答案 0 :(得分:2)
原来我错过了-f
标志:
$ git filter-branch --tree-filter "rm -f b-main.js tests/b-tests.js" \
--prune-empty HEAD
对于我自己的奖励积分:
$ git remote rm origin
$ git remote add origin git@github.com:username/reponame.git