關(guān)于git撤回、撤銷代碼的幾種方式,撤回add,撤回commit,撤回push,git reset 和 git revert 的區(qū)別

關(guān)于git撤回、撤銷代碼的幾種方式,撤回add,撤回commit,撤回push,git reset 和 git revert 的區(qū)別

沒有添加到暫存區(qū),就是沒有執(zhí)行 git add

git checkout . 或者 git reset --hard

添加到暫存區(qū),就是執(zhí)行 git add 了

git reset HEAD . 會撤銷回到 工作區(qū)
git reset --hard 會徹底撤回,回到原始狀態(tài)

執(zhí)行g(shù)it commit 了

1.git reset commitID 可以撤銷,不對代碼修改進行撤銷,可以繼續(xù)進行g(shù)it commit提交修改
2.git reset --soft commitID 可以回退commit,代碼屬于git add 的那個狀態(tài),軟重置,只回退commit信息,如果需要提交,繼續(xù) commit就行。

  1. git reset --mixde commitid 和第一種情況一樣,默認(rèn)不寫mixed就是第一種,只末流源碼,回退commit和index信息,如果需要提交,還需要執(zhí)行g(shù)it add ,和 git commit,
  2. git reset --hard commit 什么都不要了,徹底回到上個版本.

執(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到遠程的某次提交,用一次新的提交覆蓋原來的修改。

?著作權(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ù)。

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

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