Git pull - 删除文件

时间:2011-08-17 19:51:24

标签: git repository pull

我有一个开发服务器和几个生产服务器。我确实从开发人员提交到远程存储库并进行git push production设置,从生产服务器发出拉动。 我需要删除一些带有静态文件的目录,因此我做了这个

Remove an Existing File from a Git Repo (摘要:做了git rm --cached myfolders,之后添加了.gitignore文件夹)

我还没有做出改变。执行git status

时,文件显示为已删除
#       deleted:    file1.jpg
#       deleted:    file2.jpg
#       deleted:    file3.jpg
#       deleted:    file4.jpg
#       deleted:    file5.jpg

我担心的是:在执行git pull时,是否会从生产服务器(从磁盘)中删除“已删除”文件? 我只是希望它们不被跟踪,但不会从磁盘中删除。

由于

3 个答案:

答案 0 :(得分:11)

是的,如果您提取包含删除的提交,则会删除这些文件。您需要手动恢复文件。

答案 1 :(得分:4)

是的,如果您执行git pull,则会删除这些文件。 Git无法做任何其他事情 - 假设存储库中的某些代码依赖于某个文件的存在或不存在。删除文件可能会产生严重的结果,因此Git必须在提取时删除该文件。

答案 2 :(得分:0)

正如其他人回答的那样,您需要手动恢复已删除的文件。你可以这样做

git checkout sha1 -- file1.jpg file2.jpg

其中 sha1 是合并前的提交。有多种方法可以获取该方法,例如使用 HEAD~1 或从拉取输出中最简单的副本。有类似的东西

<块引用>
Updating bea26f6..d5a6bc6

第一个提交是您之前在本地提交的那个。