一台服务器上的Git rm --cache导致另一台服务器上的物理删除

时间:2016-02-04 01:21:01

标签: git

我想停止跟踪文件,因此我将其添加到.gitignore并执行git rm --cache thefile.php以尝试完成该操作。一切似乎都很好。该文件仍然存在,但不再被跟踪。我推到了Github。

现在另一台带有repo的机器从Github撤出并看到了这个:

root@server [/home/butkus/public_html]# git pull
Password for 'https://billybutkus@github.com':
Updating 42e1727..2e0aef4
Fast-forward
 .../path/to/file.php    | 13 -------------
 1 file changed, 13 deletions(-)
 delete mode 100644 path/to/file.php
root@server [/home/butkus/public_html]#

现在实际上删除了文件,而不是忽略它。我做错了什么?

这个令人惊讶的好评答案告诉我,我做得恰到好处:https://stackoverflow.com/a/1143800/631764

但我确定没有。

1 个答案:

答案 0 :(得分:2)

你做得对。没有其他用户将其作为删除接收的事实;他们可以通过执行git checkout <commit> <filename>来恢复文件,其中&#34; commit&#34;是最后有文件的提交。