2010-10-01 77 views
2

我的服務器和我的電腦上有一個名爲「myfile.php」的文件。
我想從git索引中刪除myfile.php以防止在服務器中更改myfile.php。我通過將文件添加到.gitignore並使用「git rm --chached myfile.php」從索引中刪除文件來完成此操作。
現在,當我運行「git pull」時,它會從服務器的工作目錄中刪除文件本身,但是我希望將它保留在服務器上,並且保持它不受更改的影響。 什麼問題?從git索引中刪除文件也會將文件從服務器上刪除

+0

相關:http://stackoverflow.com/questions/3833757/how-do-i-gitignore-and-delete-an-already-commited-file-without-affecting-其他-W – 2010-10-01 20:04:47

回答

2

如果你不小心添加到索引你想從索引中移除(但是從Git的歷史不會刪除),那麼文件中使用:

git reset HEAD <file> 

此外,您還可以注意到,當你執行git status,混帳實際上將告訴你:

$ git status 
# On branch master 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
#  modified: my_file 
# 
$