[英]Delete commits from the master branch in Git
在進行一些代碼更新之前我忘了創建一個分支,現在我必須恢復到初始提交並刪除初始提交之后的所有提交。 這項工作已被保存在某處,所以我沒有失去它的風險。
我已經使用“git reset --hard {SHA}”重置回到我需要的位置,但是現在我已經完成了在初始提交之后執行的所有提交,等待返回並與我的主副本同步。
我想刪除從2015年6月10日到2015年7月2日的所有提交,因為它們不再需要。 有誰知道如何做到這一點?
從任何分支中刪除遠程提交[Master是分支]
如果您向遠程服務器提交某些內容,無論出於何種原因,該內容都不應該在特定分支上提交,您可以使用以下步驟將其刪除
如果分支有您想要保留的更改 - 從步驟1開始
如果您不關心更改並且只想恢復到特定提交 - 從步驟3開始
執行硬重置並使用以下命令將HEAD重置為要創建分支的提交: git reset --hard {SHA}
創建分支並將其發布到服務器(如果跳過此步驟,則可能會丟失工作)
對要保留的提交執行硬重置為HEAD - git reset --hard {SHA}
要使用以下命令來執行強制推送,請執行強制推送: git push -f
如果沒有其他人使用此repo,請執行git push -f
,服務器的內容將被內容覆蓋。
如果其他人正在使用這個存儲庫(並且你已經提交了你想刪除的提交),他們將需要在提取之后對其結束進行硬重置( git reset --hard origin/master
,假設你是在分支master
)。 在這種情況下,我建議使用git revert
簡單地撤消提交的效果,而不是試圖從歷史中刪除它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.