【Git】撤銷操作

撤銷add操作

如果是在“Changes to be committed” 這行下面的,就說明是已暫存狀態(tài)。也就是說這些文件被add過,但是沒有commit。如果此時提交,那么該文件此時此刻的版本將被留存在歷史記錄中。但是這些文件是被.ignore忽略的,所以我們應該取消add。

git reset :可以將當前倉庫回退到歷史的某個版本

第一種用法:回退到上一個版本(HEAD代表當前版本,有一個^代表上一個版本,以此類推)

git reset --hard HEAD^

第二種用法:回退到指定版本(其中d7b5是想回退的指定版本號的前幾位)

git reset --hard d7b5


git reset HEAD 路徑/文件名: 對某個文件進行撤銷

git reset HEAD :如果不指定文件名,則撤銷add的所有文件


撤銷文件修改

如果“Changes not staged for commit” 這行下面,說明已跟蹤文件的內容發(fā)生了變化,但還沒有放到暫存區(qū)。

git checkout -- 路徑/文件名:撤銷對該文件的修改

git checkout -- . :撤銷對所有文件的修改


執(zhí)行git commit 之后的撤銷

git log:查看提交記錄

git reset commitID?:可以撤銷,不對代碼修改進行撤銷,可以繼續(xù)進行git commit提交修改

git reset --soft commitID :可以回退commit,代碼屬于git add 的那個狀態(tài),軟重置,只回退commit信息,如果需要提交,繼續(xù) commit就行。

git reset --mixde commitID :和第一種情況一樣,默認不寫mixed就是第一種,只末流源碼,回退commit和index信息,如果需要提交,還需要執(zhí)行git add ,和 git commit,

git reset --hard commitID?:什么都不要了,徹底回到上個版本.


執(zhí)行 git push 之后

git revert commitID :會把此次操作之前和之后的commit都會保留,并把這次撤銷作為一次新的commit


git reset 和 git revert 比較

git reset 是還原本地index的狀態(tài)或者修改本地head的位置,一般適用于,比如我們本地有多個commit,比如1,2,3這時候我們不想要2,3,了,想從1,開始開發(fā),然后新建一個分支,這時候就用git reset ,撤銷那兩次修改,然后繼續(xù)開發(fā),只影響本地,不影響遠程,可以根據(jù)自己的需求選擇軟重置還是硬重置

git revert 是撤銷push到遠程的某次提交,用一次新的提交覆蓋原來的修改。

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容