Git pull - deleted files
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.
Mecca
Updated on June 24, 2022Comments
-
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 thisRemove 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 over 12 yearsThanks! Was about to do a big mistake in this case :)