簡體   English   中英

如何在不丟失更改的情況下取消提交所有未推送的 git 提交

[英]How to un-commit all un-pushed git commits without losing the changes

有什么方法可以撤消所有未推送的提交(我在沒有推送的情況下向錯誤的分支提交了 3 次提交)而不會丟失更改?

在這種情況下,我通常建議從您當前的提交中創建一個新分支,然后將當前分支硬重置到您進行新提交之前的位置。

# from master
git branch feature
git reset --hard HEAD~3

以上假設您錯誤地提交了master分支,而您實際上打算在某個feature分支上。 它還假設您進行了 3 次提交。 如果不是 3,則將硬重置命令更改為正確的提交數。

您可以使用git reset來恢復之前的提交。

確保使用 --mixed 選項,以便保留您的更改但刪除提交:

git reset --mixed HEAD~3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM