Fix a Git detached head?

前端 未结 23 1635
臣服心动
臣服心动 2020-11-22 05:42

I was doing some work in my repository and noticed a file had local changes. I didn\'t want them anymore so I deleted the file, thinking I can just checkout a fresh copy. I

23条回答
  •  自闭症患者
    2020-11-22 06:48

    Detached head means you are no longer on a branch, you have checked out a single commit in the history (in this case the commit previous to HEAD, i.e. HEAD^).

    If you want to delete your changes associated with the detached HEAD

    You only need to checkout the branch you were on, e.g.

    git checkout master
    

    Next time you have changed a file and want to restore it to the state it is in the index, don't delete the file first, just do

    git checkout -- path/to/foo
    

    This will restore the file foo to the state it is in the index.

    If you want to keep your changes associated with the detached HEAD

    1. Run git branch tmp - this will save your changes in a new branch called tmp.
    2. Run git checkout master
    3. If you would like to incorporate the changes you made into master, run git merge tmp from the master branch. You should be on the master branch after running git checkout master.

提交回复
热议问题