Restore deleted file not staged in git

后端 未结 4 628
没有蜡笔的小新
没有蜡笔的小新 2021-01-11 15:57

I accidentally removed the entire directory of my source code...with a nice rm -r. I know, really bad; but fortunately, I had a git repo in the containing directory. Thus, g

4条回答
  •  遥遥无期
    2021-01-11 16:25

    Not, GIT does not do any magic. If you did not staged or commited your changes then those are gone. You can see deletions but you can only revert those to last state that you told GIT to remember it for you.

    You have to tell explicitly GIT to remember your changes by staging and commiting.

    So if you have file.txt in your repository with content:

        int main(argc[] args){
          System.out.println("example");
        }
    

    This was your last change that was commited or staged.

    Now you edit file.txt to contain something like:

    int main(argc[] args){
     System.out.println("example");
     System.out.println("Hey I can print more lines");
    }
    

    You save your file, close editor, do nothing with git and do rm -r Now the file is there, and git has reference to file and that it was deleted but content of this file in git is only:

        int main(argc[] args){
          System.out.println("example");
        }
    

提交回复
热议问题