国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

git如何撤銷commit的方法(未push)

2024-07-21 02:03:32
字體:
來源:轉載
供稿:網友

撤銷commit一般用git reset ,語法如下:

git reset [ --mixed | --soft | --hard] [<commit ID>]

1.使用參數--mixed(默認參數),如git reset --mixed <commit ID>或git reset <commit ID>

撤銷git commit,撤銷git add,保留編輯器改動代碼

2.使用參數--soft,如git reset --soft<commit ID>

撤銷gitcommit,不撤銷git add,保留編輯器改動代碼

3.使用參數--hard,如git reset --hard <commit ID>――此方式非常暴力,全部撤銷,慎用

撤銷gitcommit,撤銷git add,刪除編輯器改動代碼

開始撤銷commit的示例:

輸入git log,我們可以看到最近的3次提交,最近一次提交是test3,最早的一次是test1,其中一大串黃色的字母commit id(版本號)

如果嫌輸出信息太多,可加上--pretty=oneline參數,即

git log --pretty=oneline

接下來,按下鍵盤上的字母q退出git日志,準備進行撤銷commit

Git必須知道當前版本是哪個版本,在Git中,用HEAD表示當前版本,也就是最新的提交commit id,上一個版本就是HEAD^(或者HEAD~1),上上一個版本就是HEAD^^(或者HEAD~2),同理往上N個版本寫N個^不太現實,我們寫成HEAD~100。

現在,我們要把當前版本test3上一個版本test2,就可以使用git reset命令:git reset --hard HEAD^,再查看日志,發現已經剩下2個commit版本了

git reset --hard HEAD^

最新的那個版本test3已經看不到了,此時你想起有一行代碼寫得很好,想回到test3版本看下,怎么做?

辦法其實還是有的,只要上面的命令行窗口還沒有被關掉,記錄還是在,使用命令git reset --hard commit_id可以回退到指定的版本,比如當前例子,我們找到那個test3的commit id是e09af7ae711e2a79c15144c1e792fb2e27d201ff,然后輸入下面指令就回來了

git reset --hard e09af7ae711e2a79c15144c1e792fb2e27d201ff

版本號可以不用寫全,輸入前4位或更多也是可以,Git會自動去找,不能只寫前一兩位,因為Git可能會找到多個版本號。比如,看完test3版本的代碼后,現在想回退到最初test1版本,我們找到那個test1的commit id是ab7b0c2b6e10a20d524156a81f6d4bc15a4ea7f3,然后輸入下面指令就回來了

git reset --hard ab7b

最后在Git中,總是有后悔藥可以吃的,Git提供了一個命令git reflog用來記錄你的每一次命令,通過它可以查到每個commit id,方便你前進或者回退到指定的版本

到此這篇關于git如何撤銷commit的方法(未push)的文章就介紹到這了,更多相關git撤銷commit內容請搜索武林網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东源县| 历史| 德庆县| 灵寿县| 闽侯县| 德州市| 鲁山县| 察雅县| 渝中区| 晋江市| 合水县| 额济纳旗| 乐山市| 达拉特旗| 务川| 五台县| 虎林市| 南昌县| 哈尔滨市| 垦利县| 右玉县| 鄂州市| 来安县| 瓦房店市| 镇雄县| 天镇县| 西林县| 乌鲁木齐县| 五家渠市| 奉化市| 淮南市| 花莲市| 富蕴县| 康定县| 高雄市| 柳江县| 林芝县| 廊坊市| 五河县| 尚志市| 郁南县|