git回滾和git分離頭指針


git log
查看提交記錄
 
git reset –hard 記錄ID
 
回滾到某一提交記錄
 
 

分離頭指針(detached HEAD)

 
detached HEAD

通常,我們工作在某一個分支上,比如 master 分支。這個時候 master 指針和 HEAD 指針是一起前進的,每做一次提交,這兩個指針就會一起向前挪一步。但是在某種情況下(例如 checkout 了某個具體的 commit),master 指針 和 HEAD 指針這種「綁定」的狀態就被打破了,變成了分離頭指針狀態。我那天遇到的情況是,master 和 HEAD 指針看上去指在同一個 commit 上,但其實已經處在分離頭指針狀態。當我在此時又做了一次新的提交時,HEAD 指針跑到 master 指針前面去了。如果我直接檢出 master 分支,HEAD 指針就會回退一格到 master 指針的位置,而最新的那次提交就變成了孤立的提交,沒有任何分支能追蹤到它,剛才的活白干了。

吃一塹長一智,下面是解決辦法:

1
2
3
4
# 強制將 master 分支指向當前頭指針的位置</span>
$ git branch -f master HEAD
<span class = "hljs-comment" ># 檢出 master 分支</span>
$ git checkout master


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM