Git pull - deleted files

12,628

Solution 1

Yes, if you pull a commit that includes deletions, the files will be deleted. You'll need to restore the files manually afterwards.

Solution 2

Yes, the files will be deleted if you do a git pull. Git couldn't do anything else - suppose some code in the repository depended on the existence or non-existence of some file. Removing a file might have a significant resulting behaviour, so Git must remove the file when pulling.

Solution 3

As the others answered, you need to restore the deleted files manually. You can do that with

git checkout sha1 -- file1.jpg file2.jpg

where sha1 is the commit beofre the merge. There are multiple ways to get that one, like with HEAD~1 or the easiest copy from the output from the pull. There is something like

Updating bea26f6..d5a6bc6

where the first commit was the one you had localy before.

Share:
12,628
Mecca
Author by

Mecca

Updated on June 24, 2022

Comments

  • Mecca
    Mecca almost 2 years

    I have a development server and a couple of production ones. I do commits from the dev to a remote repository and have git push production setup, that issues a pull from the production servers. I needed to remove a couple of directories with static files from being tracked so I did this

    Remove an Existing File from a Git Repo (summary: did git rm --cached myfolders, and after that added to .gitignore the folders)

    I have not yet committed the changes. The files show as deleted when doing git status

    #       deleted:    file1.jpg
    #       deleted:    file2.jpg
    #       deleted:    file3.jpg
    #       deleted:    file4.jpg
    #       deleted:    file5.jpg
    

    My concern is: will the 'deleted' files be removed from production servers (from disk) when git pull is being performed? I just want them untracked, but not deleted from disk.

    Thanks

  • Mecca
    Mecca over 12 years
    Thanks! Was about to do a big mistake in this case :)