[英]Remove an intermediate GIT commit
我有一個中間的git commit,現在我已將其合並到代碼中。 它是錯誤地發生的。 我有2個選擇:
我想對使用第二個選項提出建議,因為我沒有安裝插件的管理員權限。
提交1
提交2
我想保留提交1並刪除提交2。提交2是目錄,其中包含許多文件。
有什么建議么 ?
如果您想保留最新的提交,最好使用git rebase: http : //git-scm.com/docs/git-rebase
正常還原怎么辦? 您要清除它的大小嗎?
然后,您需要“ Force Push
訪問權限[編輯:Gerrit中],這使您可以執行
git push --force
在您跳過該提交之后
git reset --hard HEAD^
請注意,與一組開發人員一起使用存儲庫時,應避免重寫歷史記錄。
我想你在找
$ git reset --hard REF
此處REF
將是commit 1
SHA1
。
好的,所以您想擺脫一次提交。
如果尚未推出該提交,則可以使用以下命令將其本地刪除
git reset --hard HEAD~
它會在當前版本之前簽出修訂。
您之前的歷史記錄: commit1--commit2
您的歷史記錄: commit1
如果您已經推送了提交,只要commit2
沒有關鍵commit2
(巨大,密碼等),最好將commit2
保留在歷史記錄中並還原提交而不是將其刪除:
git revert <sha-of-commit2>
這將創建一個NEW提交,該提交將還原commit2
所做的commit2
。
您之前的歷史記錄: commit1--commit2
之后的歷史記錄: commit1--commit2--commit3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.