git | Git撤銷修改和刪除文件操作。

撤銷修改

比如我現(xiàn)在在readme.txt文件里面增加一行 內(nèi)容為5555倚舀,我們先通過命令查看如下:

添加了5555

在我未提交之前,我發(fā)現(xiàn)添加5555內(nèi)容有誤忍宋,所以我得馬上恢復(fù)以前的版本痕貌,現(xiàn)在我可以有如下幾種方法可以做修改:
第一:如果我知道要?jiǎng)h掉那些內(nèi)容的話,直接手動(dòng)更改去掉那些需要的文件糠排,然后add添加到暫存區(qū)舵稠,最后commit掉。
第二:我可以按以前的方法直接恢復(fù)到上一個(gè)版本。使用 git reset –hard HEAD^
但是現(xiàn)在我不想使用上面的2種方法哺徊,我想直接想使用撤銷命令該如何操作呢室琢?首先在做撤銷之前,我們可以先用 git status查看下當(dāng)前的狀態(tài)落追。如下所示:

查看一下狀態(tài)

可以發(fā)現(xiàn)盈滴,Git會(huì)告訴你,git checkout -- file可以丟棄工作區(qū)的修改轿钠,如下命令:git checkout -- readme.txt,命令 git checkout -- readme.txt 意思就是吟温,把readme.txt文件在工作區(qū)做的修改全部撤銷玲昧,這里有2種情況:
一種是readme.txt自修改后還沒有被放到暫存區(qū)浪耘,現(xiàn)在宾肺,撤銷修改就回到和版本庫(kù)一模一樣的狀態(tài);
一種是readme.txt已經(jīng)添加到暫存區(qū)后贷腕,又做了修改烈菌,現(xiàn)在,撤銷修改就回到添加到暫存區(qū)后的狀態(tài)花履。
總之芽世,就是讓這個(gè)文件回到最近一次git commitgit add時(shí)的狀態(tài)。

這是第一種情況诡壁,修改了之后還未提交

【特別提示:git checkout -- file命令中的--很重要济瓢,沒有--,就變成了“切換到另一個(gè)分支”的命令妹卿,我們?cè)诤竺娴姆种Ч芾碇袝?huì)再次遇到git checkout命令旺矾。】

這是第二種情況夺克,已經(jīng)add箕宙,又做了修改

第二種情況,添加了內(nèi)容铺纽,還git add到暫存區(qū)了柬帕,不同的是,還沒有添加其他的內(nèi)容狡门,也還沒有commit(也就是錯(cuò)誤的添加了6666陷寝,然后將6666放到了暫存區(qū)內(nèi)):,

可以用reset HEAD readme.txt

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

用reset撤銷

git reset命令既可以回退版本,也可以把暫存區(qū)的修改回退到工作區(qū)叛复。當(dāng)我們用HEAD時(shí)仔引,表示最新的版本扔仓。
再用git status查看一下,現(xiàn)在暫存區(qū)是干凈的咖耘,工作區(qū)有修改:

現(xiàn)在的狀態(tài)

還記得如何丟棄工作區(qū)的修改嗎翘簇?

$ git checkout -- readme.txt
$ git status
工作區(qū)的修改也沒了,變成最初的4444了

現(xiàn)在鲤看,假設(shè)你不但改錯(cuò)了東西缘揪,還從暫存區(qū)提交到了版本庫(kù)耍群,怎么辦呢义桂?還記得版本回退那一節(jié)嗎?可以回退到上一個(gè)版本蹈垢。不過慷吊,這是有條件的,就是你還沒有把自己的本地版本庫(kù)推送到遠(yuǎn)程【敲重點(diǎn)曹抬,只是commit溉瓶,還沒有推到遠(yuǎn)程倉(cāng)庫(kù)里】。還記得Git是分布式版本控制系統(tǒng)嗎谤民?我們后面會(huì)講到遠(yuǎn)程版本庫(kù)堰酿,一旦你把“錯(cuò)誤的消息”提交推送到遠(yuǎn)程版本庫(kù),你就真的慘了……
<br >
【小結(jié)】
場(chǎng)景1:當(dāng)你改亂了工作區(qū)某個(gè)文件的內(nèi)容张足,想直接丟棄工作區(qū)的修改時(shí)触创,用命令git checkout -- file
場(chǎng)景2:當(dāng)你不但改亂了工作區(qū)某個(gè)文件的內(nèi)容为牍,還添加到了暫存區(qū)時(shí)哼绑,想丟棄修改,分兩步碉咆,第一步用命令git reset HEAD file抖韩,就回到了場(chǎng)景1,第二步按場(chǎng)景1操作疫铜。
如果添加到暫存區(qū)后茂浮,又做了新的修改,用git checkout -- file回到添加到暫存區(qū)后的狀態(tài)壳咕,也就是場(chǎng)景2剛開始那種情況励稳。然后再按照?qǐng)鼍?剛開始的情況進(jìn)行操作。
場(chǎng)景3:已經(jīng)提交了不合適的修改到版本庫(kù)(已經(jīng)commit了)時(shí)囱井,想要撤銷本次提交驹尼,參考<u>版本回退</u>一節(jié),不過前提是沒有推送到遠(yuǎn)程庫(kù)庞呕。


刪除文件

假如我現(xiàn)在版本庫(kù)learngit目錄添加一個(gè)文件b.txt,然后提交新翎。如下:

做了好多操作啊

一般情況下程帕,可以直接在文件目錄中把文件刪了,或者使用如上rm命令:rm b.txt 地啰,如果我想徹底從版本庫(kù)中刪掉了此文件的話愁拭,可以再執(zhí)行commit命令提交掉git commit -m "remove test.txt",現(xiàn)在目錄是這樣的

此時(shí)的目錄

只要沒有commit之前亏吝,如果我想在版本庫(kù)中恢復(fù)此文件如何操作呢岭埠?
可以使用如下命令git checkout -- b.txt,如下所示:

b.txt文件被恢復(fù)了

【小結(jié)】
命令git rm用于刪除一個(gè)文件蔚鸥。如果一個(gè)文件已經(jīng)被提交到版本庫(kù)惜论,那么你永遠(yuǎn)不用擔(dān)心誤刪,但是要小心止喷,你只能恢復(fù)文件到最新版本馆类,你會(huì)丟失<b>最近一次提交后你修改的內(nèi)容。</b>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弹谁,一起剝皮案震驚了整個(gè)濱河市乾巧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌预愤,老刑警劉巖沟于,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異植康,居然都是意外死亡旷太,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門向图,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泳秀,“玉大人,你說我怎么就攤上這事榄攀∈雀担” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵檩赢,是天一觀的道長(zhǎng)吕嘀。 經(jīng)常有香客問我,道長(zhǎng)贞瞒,這世上最難降的妖魔是什么偶房? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮军浆,結(jié)果婚禮上棕洋,老公的妹妹穿的比我還像新娘。我一直安慰自己乒融,他們只是感情好掰盘,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布摄悯。 她就那樣靜靜地躺著,像睡著了一般愧捕。 火紅的嫁衣襯著肌膚如雪奢驯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天次绘,我揣著相機(jī)與錄音瘪阁,去河邊找鬼。 笑死邮偎,一個(gè)胖子當(dāng)著我的面吹牛管跺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播钢猛,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼伙菜,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼轩缤!你這毒婦竟也來了命迈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤火的,失蹤者是張志新(化名)和其女友劉穎壶愤,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體馏鹤,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡征椒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了湃累。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勃救。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖治力,靈堂內(nèi)的尸體忽然破棺而出蒙秒,到底是詐尸還是另有隱情,我是刑警寧澤宵统,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布晕讲,位于F島的核電站,受9級(jí)特大地震影響马澈,放射性物質(zhì)發(fā)生泄漏瓢省。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一痊班、第九天 我趴在偏房一處隱蔽的房頂上張望勤婚。 院中可真熱鬧,春花似錦涤伐、人聲如沸馒胆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽国章。三九已至具钥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間液兽,已是汗流浹背骂删。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留四啰,地道東北人宁玫。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像柑晒,于是被迫代替她去往敵國(guó)和親欧瘪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

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

  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git匙赞,從https:/...
    落魂灬閱讀 12,649評(píng)論 4 54
  • A 本周踐行概要 進(jìn)入疲勞期佛掖,但堅(jiān)持踐行,給自己一個(gè)贊涌庭。 1.早起踐行:完成一般 本周平均起床5:40分左右芥被,...
    吳瓊無盡閱讀 186評(píng)論 0 4
  • 我,叫夏塔坐榆,今年十一歲拴魄,我熱愛自然,我的母親是一個(gè)美麗而勤勞的人席镀,我的姥姥總是對(duì)我的爸爸說:“你呀匹中,真幸運(yùn)。幸虧...
    王浩然666閱讀 167評(píng)論 2 1
  • 早前朋友圈被這樣一句話給刷屏了,然而我并不是一個(gè)地道的重慶人跛溉,抱著單純想一覽山城的心態(tài)焊切,觀看了《從你的全世界路過》...
    貓咪噯閱讀 372評(píng)論 0 0
  • 清早醒來,他們芳室,床上思考 仰望天空专肪,45度角,嘴角留著口水 哈哈堪侯,含著手指 中獎(jiǎng)了嚎尤,不多但也不少,總總伍宦,這些積攢的...
    翟美麗閱讀 199評(píng)論 0 0