我有一个git树:
egit/
project1/
project2/
我正在尝试将project1
拆分到另一个存储库。所以我打开命令提示符cd
进入egit
文件夹。然后,在this tutorial之后,我运行命令git filter-branch --prune-empty --subdirectory-filter \ project1\ master
。我一直收到错误:
fatal: ambiguous argument 'project1\': unknown revision or path not in the
working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
我已经使用project1
验证了git ls-tree --full-tree -r HEAD
在我的git仓库中,所以我不知道出了什么问题。有什么想法吗?
答案 0 :(得分:0)
使用以下命令。
git filter-branch --prune-empty --subdirectory-filter project1 master
答案 1 :(得分:0)
这很奇怪,但我发现在Windows上运行git-bash。如果在分支上签出远程存储库,则此格式将给出错误:
git filter-branch --prune-empty --subdirectory-filter project1 master
但是,如果你转到远程存储库(在我的情况下是另一个文件夹)和git checkout master
,那么filter-branch运行时没有错误。
此外,如果远程仓库在分支上签出,则此格式将无错运行,并为新仓库使用相同的分支:
git filter-branch --prune-empty --subdirectory-filter project1