1

我试着清理一下我的 git,所以我用

git rm -r --cached .

之后,我尝试再次添加它们

git add -A

或者

git add .

但是,它们似乎都不起作用,因为当我尝试提交时,它说没有什么可以提交并且工作目录是空的。我已经在根文件夹中运行了这些,所以这不应该是问题。有任何想法吗?

4

3 回答 3

2

如果之后

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 .
于 2013-10-14T10:04:00.080 回答
1

您可以通过设置 --no-assume-uncaged 标志再次跟踪。试试这个命令:

git update-index --no-assume-unchanged filename
于 2013-10-14T10:11:27.297 回答
0

如果您只是想将存储库的状态恢复到原始状态(之前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
于 2013-10-14T10:16:41.757 回答