git本地分支和stash內(nèi)容報(bào)錯(cuò)消失的問(wèn)題
本地一個(gè)長(zhǎng)期更新的項(xiàng)目,git log突然報(bào)錯(cuò):
xxx@yyy:~/android/project/kernel/.git$ git log .
fatal: your current branch 'project-dev' does not have any commits yet
如果git status,發(fā)現(xiàn)文件全部是new狀態(tài).
如果git branch -v, 發(fā)現(xiàn)本地分支信息消失.
如果git stash list, 也沒(méi)有任何消息.
看來(lái), 即使git本身如此優(yōu)秀, 也是避免不了他自己出錯(cuò)的時(shí)候-_-
一. 解決git log:
查看 .git/objects 文件夾, 發(fā)現(xiàn)提交都在, 說(shuō)明有救
ls .git/refs/heads 文件夾, 發(fā)現(xiàn)自己的project-dev分支不見(jiàn)了.
平常我都是在secureCRT環(huán)境下作業(yè), 并自動(dòng)保存操作記錄. 所以,很容易通過(guò) grep -rn 'git log'找回原來(lái)提交的commit信息. 于是, 找到project-dev分支的最新的提交commit id是1f37a1b5706b3877c693bab220a31d312043fc1c.
于是執(zhí)行 vi .git/refs/heads/project-dev, 并把1f37a1b5706b3877c693bab220a31d312043fc1c保存在此文件中.
git log和git branch -v, 原來(lái)提交信息都回來(lái)了.
二. 解決git stash list內(nèi)容不見(jiàn)的問(wèn)題.
cat .git/logs/refs/stash 文件,找到自己想要的stash id:
xxx@yyy:~/android/project/kernel$ cat .git/logs/refs/stash
0000000000000000000000000000000000000000 6d83090b5d140597866f32b5dbbca642acab3cba ... On project-dev: enable HDMI display
...//...表示省略內(nèi)容
25ccdba070ac09929c6f2a1f13b7d29a4b59df5b 8866f78b20047093ff8d1a517868ccce688a5c4b ... On project-dev: wifi&bt temp
以上中, 0000000000000000000000000000000000000000是最原始的內(nèi)容,不對(duì)應(yīng)任何stash提交, 6d83090b5d140597866f32b5dbbca642acab3cba是第一個(gè). 8866f78b20047093ff8d1a517868ccce688a5c4b是最后一個(gè). 想找的內(nèi)容是 "wifi&bt temp"提交的內(nèi)容, 對(duì)應(yīng)提交就是8866f78b20047093ff8d1a517868ccce688a5c4b.
于是, 執(zhí)行g(shù)it show 8866f78b20047093ff8d1a517868ccce688a5c4b內(nèi)容看看, 正確.
再次執(zhí)行以下指令保存此stash為diff文件:
git show 8866f78b20047093ff8d1a517868ccce688a5c4b > wifi.bt.diff
最后, 執(zhí)行g(shù)it apply打入diff文件.
git apply wifi.bt.diff
對(duì)其他想保存的stash id內(nèi)容做同樣的操作.
到此這篇關(guān)于git本地分支和stash內(nèi)容報(bào)錯(cuò)消失的文章就介紹到這了,更多相關(guān)git本地分支和stash報(bào)錯(cuò)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
git如何還原到某次commit并強(qiáng)制推送遠(yuǎn)程
這篇文章主要介紹了git如何還原到某次commit并強(qiáng)制推送遠(yuǎn)程的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09程序員用vscode聽(tīng)網(wǎng)易云的實(shí)現(xiàn)
很多程序員在工作的時(shí)候都喜歡聽(tīng)歌,最近發(fā)現(xiàn)了一個(gè)vscode插件,可以直接使用vscode進(jìn)行聽(tīng)歌,本文就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下2021-12-12手把手教你用Hexo+Github搭建屬于自己的博客(詳細(xì)圖文)
越來(lái)越多的朋友選擇自己架設(shè)自己的博客,以來(lái)方便個(gè)性樣式二來(lái)也能帶來(lái)不少收入,大部分朋友都會(huì)選擇wordpress搭建個(gè)人博客,這里為大家分享使用Hexo+Github搭建開(kāi)發(fā)者博客的方法,需要的朋友可以參考下2017-10-10IIS 301重定向與程序代碼實(shí)現(xiàn)301重定向的差別
過(guò)IIS做301重定向確可以實(shí)現(xiàn)傳遞網(wǎng)站的權(quán)重,還不會(huì)導(dǎo)致流量丟失。2010-11-11Eslint在Vscode中使用的一些相關(guān)技巧總結(jié)
ESLint 是一個(gè)代碼規(guī)范和錯(cuò)誤檢查工具,所有東西都是可以插拔的,這篇文章主要給大家介紹了關(guān)于Eslint在Vscode中使用的一些相關(guān)技巧總結(jié),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07IDEA中alt+?enter快捷鍵失效/沒(méi)用時(shí)該怎么辦(詳細(xì)版)
IDEA里有一個(gè)萬(wàn)能快捷鍵(alt enter)功能非常強(qiáng)大,同一個(gè)快捷鍵,可以根據(jù)不同的語(yǔ)境提示你不同的操作,這篇文章主要給大家介紹了關(guān)于IDEA中alt+?enter快捷鍵失效/沒(méi)用時(shí)該怎么辦的相關(guān)資料,需要的朋友可以參考下2023-12-12