我们有一些带有公共/上载目录的项目,客户可以使用该目录来存储images / pdfs / etc。,我现在希望将其添加到中的每个项目存储库中(已添加到我们正在学习git的时候添加了)。 gitignore。
我正在尝试删除“开发”分支中单个项目中的目录。
我正在使用的命令:
git filter-branch --tree-filter "git rm -rf --cached --ignore-unmatch public/uploaded"
这样生成输出:
rm 'public/uploaded/image_1.jpg'
rm 'public/uploaded/image_2.jpg'
rm 'public/uploaded/image_3.jpg'
rm 'public/uploaded/image_4.jpg'
rm 'public/uploaded/image_5.jpg'
但结尾为:
WARNING: Ref 'refs/heads/develop' is unchanged
为什么此命令不起作用,如何在添加到.gitignore之前成功从历史记录中删除目录,但保留文件?
您正在尝试--cached
将对索引进行操作的,与使用工作目录的--tree-filter组合。
尝试
git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch public/uploaded"
您可能还需要考虑添加“ --prune-empty”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句