我的磁盘上有很多GitHub项目,但其中很多都没有正在使用。
我想暂时删除工作文件,因为它们无论如何都存储在提交历史记录中,所以我可以在以后检索它们。
删除文件的最简单方法是rm -rf *
,但它有许多缺点:
.gitignore
git status
会抱怨有很多被删除的文件。我必须弄清楚是否应该提交这些删除,或者我是否刚刚删除它们以暂时节省空间。删除工作文件的快捷方法是什么?有没有办法干净利落地做到这一点?
答案 0 :(得分:1)
创建一个空分支似乎很有效:
创建一个空分支。我会称之为"空"。
git checkout --orphan empty
但是这并没有删除文件。手动完成:
git reset --hard
这个分支还没有真正存在。进行初始提交以确认它:
git commit --allow-empty -m 'Empty commit'
现在你的所有文件都已消失,而你正处于体现这种情况的分支上。
关于这个过程的好处:
git checkout master
git checkout empty
缺点:
答案 1 :(得分:1)
如果您使用git 2.5.1或更高版本,则可以使用裸存储库,如果要检查或使用其内容,请使用git worktree add /some/checkout/path branch
。
worktree将完全作为标准git克隆工作,期望您在那里运行的所有修改(提交,新分支,标记......)都应用于裸克隆。