GIT 如何刪除某個本地的提交


一、rm后要commit一下才會生效,但這樣只是讓文件不再出現在今后的版本中,文件副本仍然會在.git/下(這樣git才能讓誤刪的文件恢復)。 

要徹底消滅文件副本,那就要讓文件徹底從歷史中消失,分兩種情況:

 

1、如果你的文件添加記錄是最近1次,而且沒有別的更改,可以簡單使用reset --hard commit_id來徹底回溯,然后gc一下再上傳就沒問題了。

2、如果是在你N次提交以內的某次,而且同時還有別的重要提交,那最好用rebase合並一下這幾次提交記錄(包括rm的commit),然后再gc提交

 

 

二、撤銷commit的一些方法

1、git reset –mixed:此為默認方式,不帶任何參數的git reset,即時這種方式,它回退到某個版本,只保留源碼,回退commit和index信息

2、git reset –soft:回退到某個版本,只回退了commit的信息,不會恢復到index file一級。如果還要提交,直接commit即可

3、git reset –hard:徹底回退到某個版本,本地的源碼也會變為上一個版本的內容

 

三、其他一些方法

1、git revert 是撤銷某次操作,此次操作之前的commit都會被保留
 
2、git reset 是撤銷某次提交,但是此次之后的修改都會被退回到暫存區
 

3、git reset --hard HEAD~1

 

 

 

 

4、git revert HEAD


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM