我的磁盘上有许多 GitHub 项目,但其中许多项目并未得到有效使用。
我想暂时删除工作文件,因为它们无论如何都存储在提交历史记录中,因此我可以稍后检索它们。
删除文件的最简单方法是rm -rf *
,但它有许多缺点:
- 它不会删除
.gitignore
等点文件 - 如果我稍后回来,
git status
会提示大量已删除的文件。我必须弄清楚是否应该进行这些删除,或者只是删除它们以暂时节省空间。
删除工作文件的快速简便方法是什么?有没有办法干净利落地做到这一点?
最佳答案
创建一个空分支似乎效果很好:
- 检查您的所有文件是否已安全提交到分支(例如“master”或“develop”分支)。
创建一个空分支。我将其称为“空”。
git checkout --orphan empty
但这并没有删除文件。手动执行此操作:
git reset --hard
该分支尚未真正存在。进行初始提交以确认:
git commit --allow-empty -m 'Empty commit'
现在您的所有文件都消失了,并且您所在的分支体现了这种情况。
这个过程的好处:
- 它使用 git 自己的机制。没有令人困惑的脏状态。
- 看到分支名称就清楚发生了什么。
- 您可以使用
git checkout master
轻松切换回 master - 您可以使用
git checkoutempty
轻松切换回空分支
缺点:
- 初始过程需要 3 个命令。
- 如果您不熟悉分支,或者不知道自己所在的分支,当您返回文件夹时,您可能会想知道所有文件都去了哪里!
关于git - 从 git 存储库中删除工作文件以节省空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35355810/