Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git status reports deleted files which still exist

Tags:

git

My Git status is showing all files deleted in my working tree which is incorrect, they are still there.

To resolve it, I should execute git reset --hard which reset all my modifications to other files.

Any idea how to solve it or how did it happen?

git status output:

On branch develop
Your branch is behind 'origin/develop' by 15 commits, and can be fast-forwarded.

Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

deleted:    .gitignore
deleted:    v3/.gitignore
deleted:    v3/index-test.php
deleted:    v3/index.php
deleted:    v3/protected/.gitignore
deleted:    v3/protected/.htaccess
deleted:    v3/protected/Gruntfile.js

Edit: The above is not the complete git status output. Those files that I was working on are not staged for deletion.

like image 378
bolbol Avatar asked Oct 08 '13 08:10

bolbol


2 Answers

If the only issue is that the some files have been removed from the index, but are still in the working tree, then all you need to do is:

git reset

By default, git reset defaults to mixed mode which does this:

--mixed
Resets the index but not the working tree (i.e., the changed files are preserved but not marked for commit) and reports what has not been updated. This is the default action.

So it will leave your changes intact but unstage everything. If you find that the files are actually missing, then you'll need to check them out to restore them:

git checkout -- path/to/file/or/dir

You could parse the short form of git status using cut and xargs to help do this if you have lots of files. I'll leave that as an exercise for the reader though, since you're claiming that all the files are there.

like image 75
John Szakmeister Avatar answered Oct 29 '22 18:10

John Szakmeister


if you deleted a file from local disk using

rm file.name

and if file.name was already checked into git. Then you should actually issue this command

git rm file.name

to tell git that you don't want it to track that file anymore

like image 22
Litmus Avatar answered Oct 29 '22 18:10

Litmus