git - 如何删除空文件夹并推送该更改?

Mic*_*ant 65 git directory rm rmdir

如何在本地删除空文件夹,以及通过pull-push共享远程的其他协作者会发生这种情况?我知道git在这个意义上没有"跟踪"文件夹,但问题仍然存在.

例如,我将文件移动到另一个文件夹并提交了更改(移动).

但我不能git rm name文件夹,因为我得到"不匹配" git rmdir name不存在.

我可以做一个git clean -f folder但是怎么会被推高?

我可以直接rm将文件,但如何获取该目录去除正确完成并推到仓库,然后出去给别人当他们拉让自己现有的文件夹被删除?

Jak*_*ene 108

简短的回答:您不能将更改推送到目录(添加,删除等),因为Git不会自己跟踪目录.

根据FAQ:

目前git索引(临时区域)的设计只允许列出文件,没有人能够进行更改以允许空目录已经足够关注这种情况来弥补它.

在其中添加文件时会自动添加目录.也就是说,目录永远不必添加到存储库中,并且不会自己跟踪.

因此,就Git而言,您的空目录不再存在.

我发现养成使用的习惯git clean -fd消除了推送删除目录的需要.但是,git clean可以删除您可能不想删除的项目(包括您尚未提交的任何新文件),因此我倾向于首先使用git clean -fdn以查看在使用该命令时删除的内容.

看起来您可能被迫与其他开发人员交谈以清理该目录.


小智 8

git add --all
git clean -f -d
git commit -m "trying to remove folders"
git push
Run Code Online (Sandbox Code Playgroud)