如何在不丢失更改的情况下取消提交所有未推送的 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
有什么方法可以撤消所有未推送的提交(我在没有推送的情况下向错误的分支提交了 3 次)而不丢失更改?
在这种情况下,我通常建议的是只从当前提交创建一个新分支,然后将当前分支硬重置回进行新提交之前的点。
# from master
git branch feature
git reset --hard HEAD~3
以上假设您错误地提交了 master
分支,而您实际上打算在某个 feature
分支上。它还假定您进行了 3 次提交。如果不是 3,请将硬重置命令更改为正确的提交次数。
您可以使用 git reset
返回到之前的提交。
确保使用 --mixed 选项,这样它会保留您的更改但删除提交:
git reset --mixed HEAD~3