我试着清理一下我的 git,所以我用
git rm -r --cached .
之后,我尝试再次添加它们
git add -A
或者
git add .
但是,它们似乎都不起作用,因为当我尝试提交时,它说没有什么可以提交并且工作目录是空的。我已经在根文件夹中运行了这些,所以这不应该是问题。有任何想法吗?
我试着清理一下我的 git,所以我用
git rm -r --cached .
之后,我尝试再次添加它们
git add -A
或者
git add .
但是,它们似乎都不起作用,因为当我尝试提交时,它说没有什么可以提交并且工作目录是空的。我已经在根文件夹中运行了这些,所以这不应该是问题。有任何想法吗?
如果之后
git rm -r --cached .
你不提交,回购历史没有任何变化。这就是add
命令无效的原因。(在 rm 之后,您执行git reset HEAD ...files...
orgit checkout ...files...
来撤消 的效果git rm
,而不是使用git add
)
做这个:
git rm -r --cached .
git commit -m "Untracked everything"
现在 git add 可以工作了:
git add -A
或者
git add .
您可以通过设置 --no-assume-uncaged 标志再次跟踪。试试这个命令:
git update-index --no-assume-unchanged filename
如果您只是想将存储库的状态恢复到原始状态(之前git rm
),请执行以下操作:
git reset # unstage - undo effect of "git add" or "git rm"
git checkout . # revert any local changes
请注意,git rm
后跟git commit
不会减少已删除文件使用的空间,因此这不是“清理”的好方法。
相反,您可以简单地从头开始:
rm -rf . # remove everything, including .git directory
git init # initialize git repository from scratch