關(guān)于git reset 和 git revert的區(qū)別

今天來講一講關(guān)于git reset 和 git revert的區(qū)別

在本地新建一個倉庫名為test

mkdir test

進入test cd test

將test初始化為git倉庫

$ git init
Initialized empty Git repository in C:/Users/Administrator/Desktop/test/.git/

在倉庫里面新建一個文件,并添加到倉庫中

touch 1.txt
git add .
git commit -m "add 1.txt"

[圖片上傳失敗...(image-44efc6-1514642567342)]

推送到遠程倉庫中
git remote add origin git@github.com:WebsnowDrop/test.git
這時,git就有了第一個commit add 1.txt

[圖片上傳失敗...(image-7f6d09-1514642567342)]

git revert

下面,修改1.txt的內(nèi)容為"第一次修改",這時1.txt的內(nèi)容為
[圖片上傳失敗...(image-7408b1-1514642567342)]

這時,執(zhí)行

git revert HEAD 
git push origin master

我們看看會發(fā)生什么

[圖片上傳失敗...(image-7ee995-1514642567342)]

我們看到commit增加了一條新的記錄"Revert 第一次修改 "。
讓我們看看1.txt的內(nèi)容
[圖片上傳失敗...(image-efc5f4-1514642567342)]

1.txt中的內(nèi)容變?yōu)樾薷闹暗膬?nèi)容了!我們添加的修改不見了。

所以,git revert的作用為
新增一次commit,而將工作區(qū)的內(nèi)容還原到之前修改內(nèi)容之前的版本

git reset

再讓我們執(zhí)行git reset d9fdc66ca52093b73874ba95a9d8eff4d011cda3看下效果
[圖片上傳失敗...(image-fb9523-1514642567342)]
看到第二和第三次commit記錄都消失了!
所以,git reset的作用為
將工作區(qū),暫存區(qū),倉庫中的所有版本退回到指定id的版本

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

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