我有一个Git仓库,其子目录如下:
- myproject
+ folder1
+ folder2
+ folder3
如何将子文件夹(即folder1)推送到另一个Git仓库?我认为子模块是正确的方法,但我不认为我正确地使用它或者它是否适用于此。我尝试使用子模块的方式是:
git submodule add git@urlofnewrepo folder1
但是这会导致错误:
'folder1' already exists in the index
答案 0 :(得分:1)
R0MANARMY向我指出http://blogs.atlassian.com/2014/04/tear-apart-repository-git-way/基本上完成了我想做的事情。工作流程是:
git clone remote_repo_url new_repo_name
git filter-branch --subdirectory-filter folder_to_filter
所以在我的情况下,它是:
git clone remote_repo_url new_repo_name
git filter-branch --subdirectory-filter folder1
这导致文件夹“new_repo_name”仅包含来自“folder1”的文件。
答案 1 :(得分:0)
尝试--force
密钥,例如:
git submodule add --force git@urlofnewrepo folder1