4

我试图让我的 .gitingore 工作(链接到问题:))。

我刚刚做了

git rm . -r --cached 

现在,当我输入时,我有一个完整的已删除文件列表:

git status -s 

这是正常的吗?我可以安全地提交所有更改吗?

或者也许有办法撤销这个命令?

PS:我试图了解这个命令的作用,但我只发现了这个:http ://brianloomis.wordpress.com/2009/08/10/git-rm-r-cached/ 这对我来说不是很清楚.

PS 2:好的 :) 为了保存我的皮肤,我进行了重置:

git reset HEAD *

已删除的文件再见了 :) 在 git status -s 中不再可见。但是仍然可以安全地执行命令:

git rm . -r --cached and then add and commit it? 
4

1 回答 1

5

“安全的”?它所做的是清空索引并提交删除这些文件,而不将它们从工作树(您的磁盘)中删除

这意味着所有这些文件都变得无法跟踪(私有)。

通常,您不会在这样的命令之后提交。您重置(就像您所做的那样)。
这可能会强制将内容驱动程序(如涂抹脚本)或其他.gitattributes指令再次应用于所有文件。

您可以在 GitHub 帮助页面“处理行尾”中看到该命令。

git rm --cached -r .
# Remove everything from the index.

git reset --hard
# Write both the index and working directory from git's database.

同样,在这种情况下:没有提交,只有重置。

于 2014-04-08T13:33:02.677 回答