一個被終端坑的程序猿
前言
故事發(fā)生在端午節(jié)放假公司的人都走后竣灌。筆者一直在使用SVN冠场,git少有了解秆剪,今天第一次嘗試用終端進(jìn)行g(shù)it代碼提交到碼云赊淑,為了以防有問題,我還專門整個小demo試了下仅讽,很順利陶缺,于是乎,我就進(jìn)行我的代碼提交洁灵。由于小demo的成功的原因饱岸,我沒有對我的代碼進(jìn)行備份(鬼使神差的沒有備份)掺出,然后就一步兩步,一步兩步的提交了苫费。
第一步
git init
初始化本地倉庫汤锨。沒毛病,順利百框。
第二步
git add .
添加所有文件闲礼。沒毛病,順利铐维。
第三步
git commit -m "項目說明"
提交到本地倉庫柬泽。沒毛病嫁蛇!
第四步
git remote add origin + "碼云項目鏈接"
//git把master改成main
git remote -M main
把碼云倉庫鏈接與本地倉庫關(guān)聯(lián)锨并。沒毛病,離成功只差一步了的時候睬棚,我看下工程里面沒有README.md
文件第煮,我就又多走了一步。
第五步
//git pull --rebase origin master
git pull --rebase origin main
把碼云上的README.md
文件同步到本地闸拿,然后就執(zhí)行最后一步了空盼。
第六步
//git push -u origin master
git push -u origin main
那么,問題來了新荤,失敗了揽趾,這時候我就看了下碼云,沒有代碼苛骨,好吧篱瞎,那我大不了再試一下。我就看了下我的工程痒芝,一下就懵逼了俐筋,工程文件都沒有了,所有的都沒有了严衬,臥槽澄者,怎么肥事!我第一反應(yīng)就是向碼云反應(yīng)请琳,于是我就打了客服電話粱挡,沒有人接,估計是下班了(當(dāng)時晚上7點多了)俄精。我就加了碼云技術(shù)群询筏,然后就在群里問了,群里還算活躍竖慧,馬上就有人回答嫌套,問我有哪些操作逆屡,我就說了下,最后問到碼云的動態(tài)里面有沒有commit記錄踱讨,我看了下魏蔗,并沒有,那人說勇蝙,沒有的話就找不回來了沫勿。再次懵逼!最后打電話給一個有五年工作經(jīng)驗的大佬味混,大佬問我進(jìn)行了哪些操作,我就說了诫惭,他說沒有毛病啊翁锡,最后問我,有沒有執(zhí)行過commit夕土,我說有馆衔,他說有就行,就能找回怨绣,東西還都在本地角溃,心里石頭落地了。這時候碼云群里一個大佬私聊我篮撑,就給我2行代碼然后就找回了减细。
解決方法
git reflog
可以查看所有分支的所有操作記錄(包括commit和reset的操作),包括已經(jīng)被刪除的commit記錄赢笨。這時候看到了我的commit記錄未蝌,以及id。
git reset —hard + id
強(qiáng)制回退到某次commit之前的狀態(tài)茧妒,因為我是第一次提交萧吠,所以使用了這行命令。如果不是第一次的話桐筏,這行命令慎用纸型。
不死心
代碼找回后,我心有不甘梅忌,覺得自己的操作沒有錯狰腌,我就備份了一下,然后再次上傳铸鹰,成功了癌别,心里一萬只草泥馬本奔騰。
后記
雖然第一次使用git的時候有點小插曲蹋笼,不過還是覺得git很好用展姐, 自己的一次疏忽躁垛,學(xué)會了如何找回,也算是有所收獲圾笨,于是記了下來教馆,希望也能幫助我這樣的git小白。