Git命令對于已經(jīng)commit沒有push的撤回(包括IDEA的操作)

背景

使用git來進(jìn)行版本控制嘹害,發(fā)現(xiàn)自己多commit了個東西,然后想撤回泉手。之前自己這塊一直沒有去看,當(dāng)時忙也來不及去操作偶器,操作了一下好像也沒有操作對斩萌,所以都是復(fù)制自己修改的然后刪除分支,這樣又麻煩有浪費時間屏轰。

解決

今天抽了點時間來看一下這方面颊郎,就是關(guān)于自己commit但是還沒有push的操作。具體在命令行操作和IDEA 頁面操作給出結(jié)論霎苗。先來解釋幾個術(shù)語

HEAD: 這是當(dāng)前分支版本頂端的別名姆吭,也就是在當(dāng)前分支你最近的一個提交
Index: 也被稱為Staging area,是指一整套即將被下一個提交的文件集合唁盏。他也是將成為HEAD的父親的那個commit
Working Copy: Working copy代表你正在工作的那個文件集

也可以這么理解猾编,index 為git add后的代碼瘤睹,Working Copy 為本地修改的代碼升敲,HEAD 為commit后的代碼

1答倡、git命令行操作

  • 1、先查看git提交的狀態(tài)驴党,使用git log
Administrator@SKY-20181226BFP MINGW64 /e/study_workSpace/study_space (master)
$ git log
commit 994b37d2abdfd44f447100d10318095e209c2ae4 (HEAD -> master)
Author: zengguanghao <zengguanghao@bonc.com.cn>
Date:   Tue Mar 24 20:21:59 2020 +0800

    git reset demo

commit cf32bfdb35e6808cb4052924e496211c18ebba42 (origin/master, origin/HEAD)
Author: zengguanghao <zengguanghao@bonc.com.cn>
Date:   Tue Mar 24 20:21:15 2020 +0800

    demo

如圖所示瘪撇,HEAD -> master 相當(dāng)于本地的coomit的指針,origin/master, origin/HEAD 相當(dāng)于遠(yuǎn)程的指針港庄,如圖所示相當(dāng)于本地的比遠(yuǎn)程的多了一次commit倔既,是比遠(yuǎn)程提前的狀態(tài)。

  • 2鹏氧、撤回commit的狀態(tài)
    撤回commit的狀態(tài)的命令為

git reset 參數(shù) commitId

具體有3個參數(shù)

--mixed 會保留源碼,只是將git commit和index 信息回退到了某個版本.(默認(rèn))
--soft 保留源碼,只回退到commit信息到某個版本.不涉及index的回退,如果還需要提交,直接 commit即可.
--hard 源碼也會回退到某個版本,commit和index 都會回退到某個版本.(注意,這種方式是改變本地代碼倉庫源碼)

所以,--hard 會丟失掉本地修改的代碼渤涌,這種場景對于提交錯誤等情況是不友好的。我們通常希望保留本地的修改然后再繼續(xù)提交的一般把还。

注意:我們撤回git狀態(tài)的時候实蓬,因為我們是想撤回到上一個提交的狀態(tài),所以在寫commitID的時候吊履,要寫本次提交即HEAD 的上一個的commitID

git reset --mixed cf32bfdb35e6808cb4052924e496211c18ebba42

這樣就將commit的提交撤回了安皱。

2、IDEA操作

1艇炎、第一種方法
  • 1酌伊、如圖所示,打開這個


    image.png
  • 2缀踪、在箭頭位置寫上你想回退到的commitID (commitID可以使用git log 查看)


    image.png
2居砖、第二種方法

另外一種方法 可以直接在log 中選擇相應(yīng)的分支,然后進(jìn)行選擇驴娃。直接回退就可以奏候。


image.png

參考文章:https://blog.csdn.net/zpf336/article/details/80896020

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市托慨,隨后出現(xiàn)的幾起案子鼻由,更是在濱河造成了極大的恐慌,老刑警劉巖厚棵,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蕉世,死亡現(xiàn)場離奇詭異,居然都是意外死亡婆硬,警方通過查閱死者的電腦和手機(jī)狠轻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來彬犯,“玉大人向楼,你說我怎么就攤上這事查吊。” “怎么了湖蜕?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵逻卖,是天一觀的道長。 經(jīng)常有香客問我昭抒,道長评也,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任灭返,我火速辦了婚禮盗迟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘熙含。我一直安慰自己罚缕,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布怎静。 她就那樣靜靜地躺著邮弹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪消约。 梳的紋絲不亂的頭發(fā)上肠鲫,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機(jī)與錄音或粮,去河邊找鬼导饲。 笑死,一個胖子當(dāng)著我的面吹牛氯材,可吹牛的內(nèi)容都是我干的渣锦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼氢哮,長吁一口氣:“原來是場噩夢啊……” “哼袋毙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起冗尤,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤听盖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后裂七,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體皆看,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年背零,在試婚紗的時候發(fā)現(xiàn)自己被綠了腰吟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡徙瓶,死狀恐怖毛雇,靈堂內(nèi)的尸體忽然破棺而出嫉称,到底是詐尸還是另有隱情,我是刑警寧澤灵疮,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布织阅,位于F島的核電站,受9級特大地震影響始藕,放射性物質(zhì)發(fā)生泄漏蒲稳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一伍派、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧剩胁,春花似錦诉植、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至啊犬,卻和暖如春灼擂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背觉至。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工剔应, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人语御。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓峻贮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親应闯。 傳聞我的和親對象是個殘疾皇子纤控,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,843評論 2 354

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

  • Add & Commit git init 初始化一個 Git 倉庫(repository),即把當(dāng)前所在目錄變成...
    冬絮閱讀 4,832評論 0 9
  • 一碉纺、基本概念: 注:對于git的分布式概念及其優(yōu)點船万,不重復(fù)說明,自己百度或谷歌骨田。本文中涉及到指令前面有$的耿导,在cm...
    大廠offer閱讀 1,425評論 0 3
  • 以下筆記主要參考gitgot,大致了解git使用和原理盛撑。 第一部分我們從個人的視角去研究如何用好Git碎节,并且揭示G...
    carolwhite閱讀 2,379評論 0 1
  • 這篇博文是自己在學(xué)習(xí)git過程中的思考總結(jié)。本文僅僅代表個人的看法抵卫,如有不妥地方還請本文文末留言狮荔。 ?? 原文鏈接g...
    Ming_Hu閱讀 1,075評論 4 18
  • 一胎撇、Git學(xué)習(xí)總結(jié)的命名 初始化一個Git倉庫。 添加文件到Git倉庫步驟分兩步:使用命令git add <fil...
    Cheriez閱讀 452評論 0 1