git基本操作之git撤銷操作

git checkout -- filename? 將工作區的修改后的文件回退到上一個工作區文件版本狀態(即該文件沒修改前),一般我們覺得對文件所做的修改為無用操作時,想撤銷回到修改前可使用此操作

先修改文件b.txt再撤銷回到沒修改的狀態(工作區)

git reset HEAD filename 將緩存區某文件回退到上一緩存版本,該操作對工作區沒有影響(暫存區)

git reset --hard HEAD filename ?帶上--hard參數后則是將暫存區和工作區的文件強行回退(暫存區+工作區)

git reset --mixed HEAD filename? 帶上--hard參數后則是將版本庫和暫存區的文件強行回退(版本庫+暫存區)

git reset --soft HEAD filename? 帶上--hard參數后則是將版本庫的文件強行回退(版本庫)

將緩存區文件回退到上一緩存版本(即執行git add 命令之前的文件狀態)

git reset 版本號(版本表示) 將緩存區回退到特定版本,不影響工作區文件

版本庫回退到版本a4762b0(版本唯一標識)

git commit --amend ?撤銷上一次提交,并將暫存區(緩存區)文件重新提交

git checkout ?--filename ?拉取暫存區的文件,并將其替換工作區的文件(也即是回退到工作區上一版本(即暫存區目前版本)),注意該命令和 git checkout branchname 命令的區別,后者是切換到其他分支

git reset HEAD --filename ?拉取最近一次提交的版本庫中的文件到暫存區,該操作不影響工作區

如果想將版本庫的文件拉取到工作區,需先將版本庫文件拉倒暫存區,再從暫存區拉取到工作區,即git reset HEAD --filename,git checkout? --filename兩條命令依次執行

git文件刪除

git rm filename 刪除工作區及暫存區中的文件,相當于刪除文件后執行git add,即等效 rm filename,git add

git rm --cached filename 在不小心將不需要追蹤的文件添加到暫存區后,想刪除暫存的文件但是不想刪除工作區的文件(即僅僅只刪除暫存區的文件)---》適用應用場景 .gitignore git遠程倉庫

git rm -f filename 當工作區或者暫存區文件修改了,防止把修改文件誤刪除

git mv filename ? 相當于 1.mv oldname newname ? ? 2.git rm oldname ? 3.git add newname ? ? ?即將工作區文件改名,將新文件添加到暫存區,并刪除暫存區的老文件

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,610評論 1 26
  • vue有兩大核心: 數據驅動 和 組件 。 組件 是人為地把頁面合理地拆分成一個個區塊,讓這些區塊更方便重復使用,...
    hiddensmile閱讀 1,892評論 0 1
  • 一到夜晚,就開始陷入回憶或者惶惶不安的情緒,就像一到下雨天就犯的老風濕一樣。很多天的渾渾噩噩,想著“一定要下...
    言成已毀閱讀 335評論 0 1
  • 人從生下來,就分為兩類。 聰慧的,愚笨的。 我想,我可以做為例外。 因為我是那種自認為聰慧卻愚笨的人。 原因只有一...
    安棉一閱讀 335評論 0 0
  • 你要鬧到什么時候,還要鬧到什么時候!就像情緒泛濫,無力的嘶吼,不知該怎么辦,像是歲月里茍同的事,重復著,重復著,...
    小城里丟了魂閱讀 275評論 0 0