代碼commit到了莫名的分支或者被分離的HEAD上了,如何處理

只需三部就可以把你不知道提交到了哪的代碼,再移動(dòng)到選定分支上;

這種情況的出現(xiàn)原因:
1: 有可能是確實(shí)提交到了某條分支上,但是提交之后發(fā)現(xiàn)分支錯(cuò)了,找不到那次提交了;
2: 有可能是未檢出分支或者未切換分支,直接在分離的HEAD上進(jìn)行開發(fā)了, 這時(shí)你commit后的代碼實(shí)際是屬于游離狀態(tài)的,不屬于任何分支,但是你的電腦本地是存在提交記錄的;這就是找回代碼的依據(jù);

第一步:
終端:git reflog
(查看所有分支的所有操作記錄(包括commit和reset的操作,包括已經(jīng)被刪除的commit記錄,git log則不能察看已經(jīng)刪除了的commit記錄)

找到你丟失的那次commit記錄,記下commit id (就是前面的一串字母加數(shù)字)

第二步:
git checkout <你想提交到的分支上>
例如:git checkout master
(查看遠(yuǎn)端的全部分支: git branch -a (列出全部的分支名))

第三步:
git cherry-pick <commit id> 例如:git cherry-pick hbd37gf76sg
(<commit id>就是在第一步里記錄的commit id) 選出這次記錄重新提交到當(dāng)前分支上

(此時(shí),如果使用了SourceTree,就可以在該分支的提交記錄上看到了此次提交), 然后再正常的pull + push 就OK了

文獻(xiàn)參考:
git cherry-pick簡(jiǎn)介
git checkout簡(jiǎn)介
git 本地提交未Push 自動(dòng)切到其他版本的解決姿勢(shì)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,540評(píng)論 1 26
  • ——謹(jǐn)以此獻(xiàn)給我的高中歲月和即將高考的你們 室友A當(dāng)學(xué)姐心切,發(fā)誓下學(xué)期請(qǐng)第一個(gè)喊她“學(xué)姐”的人喝奶茶。室友B立馬...
    因藍(lán)閱讀 445評(píng)論 1 5
  • 抬頭一彎月,蛙鳴四五聲。 燈下疾奮書,雨夜愈深沉。
    乙知己閱讀 231評(píng)論 1 2
  • 喂,嗯是我,你怎么打電話來了……” 十幾分鐘的通話時(shí)間,過程還算融洽,但試了那么多次的對(duì)不起還是沒說出口,很多想說...
    二肆閱讀 196評(píng)論 0 0
  • 每個(gè)人成長(zhǎng)的二三十歲會(huì)花很多時(shí)間去學(xué)習(xí)。唯獨(dú)我們忘記了學(xué)習(xí)怎樣去記憶,怎樣去提高記憶力提高學(xué)習(xí)的效率,假如我們發(fā)幾...
    努力學(xué)習(xí)的清梅閱讀 840評(píng)論 0 3