撤銷修改

1.未 git add 的修改

先在在 readme.txt 中添加如下內(nèi)容:

Git is a distributed version control system.
Git is free software distributed under the GPL.
Git has a mutable index called stage.
Git tracks changes of files.
My stupid boss still prefers SVN.

git status 查看一下:

$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   readme.txt

no changes added to commit (use "git add" and/or "git commit -a")

可以發(fā)現(xiàn),Git 會(huì)告訴你,git checkout -- file 可以丟棄工作區(qū)的修改:

$ git checkout -- readme.txt

命令 git checkout -- readme.txt 意思就是,把 readme.txt 文件在工作區(qū)的修改全部撤銷,這里有兩種情況:

一種是 readme.txt 自修改后還沒(méi)有被放到暫存區(qū),現(xiàn)在,撤銷修改就回到和版本庫(kù)一模一樣的狀態(tài);

一種是 readme.txt 已經(jīng)添加到暫存區(qū)后,又作了修改,現(xiàn)在,撤銷修改就回到添加到暫存區(qū)后的狀態(tài)。

總之,就是讓這個(gè)文件回到最近一次 git commit 或 git add 時(shí)的狀態(tài)。




2.已 git add 的修改

假如修改了 readme.txt,并且執(zhí)行了 git add 命令:

Git is a distributed version control system.
Git is free software distributed under the GPL.
Git has a mutable index called stage.
Git tracks changes of files.
My stupid boss still prefers SVN.
$ git add readme.txt

現(xiàn)在該怎么撤回修改呢?我們先用 git status 查看一下,修改只是添加到了暫存區(qū),還沒(méi)有提交:

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   readme.txt

Git 同樣告訴我們,用命令 git reset HEAD file 可以把暫存區(qū)的修改撤銷掉(unstage),重新放回工作區(qū):

$ git reset HEAD readme.txt
Unstaged changes after reset:
M       readme.txt

git reset 命令既可以回退版本,也可以把暫存區(qū)的修改回退到工作區(qū)。當(dāng)我們用 HEAD 時(shí),表示最新的版本。

再用 git status 查看一下,現(xiàn)在暫存區(qū)是干凈的,工作區(qū)有修改:

$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   readme.txt

no changes added to commit (use "git add" and/or "git commit -a")

最后我們撤回工作區(qū)的修改:

$ git checkout -- readme.txt

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 自然,你是不會(huì)犯錯(cuò)的。不過(guò)現(xiàn)在是凌晨?jī)牲c(diǎn),你正在趕一份工作報(bào)告,你在readme.txt中添加了一行: $ cat...
    蕭非子閱讀 726評(píng)論 0 51
  • 撤銷修改 比如我現(xiàn)在在readme.txt文件里面增加一行 內(nèi)容為5555,我們先通過(guò)命令查看如下: 在我未提交之...
    八寶君閱讀 6,393評(píng)論 0 0
  • 1、了解設(shè)計(jì),感受到設(shè)計(jì)的魅力,培養(yǎng)日常設(shè)計(jì)的關(guān)注,培養(yǎng)設(shè)計(jì)思維 2、講可用性測(cè)試,目標(biāo)是讓工程師知道有哪些途徑改...
    陳淑玲閱讀 302評(píng)論 1 0
  • 列車過(guò)紹興,一路江南水鄉(xiāng)風(fēng)景。河流,稻田 ,村莊和公路。還有田里勞作的農(nóng)民。
    行攝在路上閱讀 424評(píng)論 0 0
  • react native在app開(kāi)發(fā)上的一個(gè)優(yōu)勢(shì)就是組件化開(kāi)發(fā),當(dāng)有了足夠多的自定義組件后,可以很方便的將這些組件...
    haiyangjiajian閱讀 3,337評(píng)論 0 2

友情鏈接更多精彩內(nèi)容