在执行git filter-branch时如何删除其他子目录

时间:2016-12-07 03:54:54

标签: git git-filter-branch

我当前仓库中的目录结构是

kaal-client\
 desktop\
 chrome-extension\
 native-host\

我想将子目录分成他们自己的repo。所以为此我运行了以下命令:

git filter-branch --prune-empty --subdirectory-filter chrome-extension master --all

这正确地将chrome-extension的内容复制到kaal-client \并删除该目录中存在的大多数文件。但它不会删除desktop \和native-host \目录以及文件npm-debug.log。

它是否应该删除不在chrome-extension中的这些目录和文件?

======================

编辑1:文件npm-debug.log未跟踪,这可能是为什么不删除。

编辑2:我注意到,虽然其他子目录未被删除,但其中的文件是。当我做一个git状态时,它们显示为未跟踪。所以我只是删除它们并继续。

1 个答案:

答案 0 :(得分:1)

在filter-branch之后你可以做什么,以便从干净的状态继续:

git clean -fndx

(请注意' n'干运行选项:它将打印将删除的内容。如果您同意,请执行git clean -fdx删除您要删除的内容[39]不再需要了)