網(wǎng)站建設(shè)合約網(wǎng)上學(xué)電腦培訓(xùn)中心
前言:
在操作commit后發(fā)現(xiàn)提交錯(cuò)了分支,直接切換分支是不行的,只能先取消commit的代碼才能切換分支,因此記錄一下git的操作
如果你已經(jīng)執(zhí)行了 git commit 但還沒有進(jìn)行 git push,可以通過以下幾種方式撤回或修改提交。以下是具體操作步驟:
1. 撤銷最后一次提交,但保留更改
如果你想撤銷最后一次提交,但保留工作區(qū)的更改以便重新提交,可以使用 soft 模式。
git reset --soft HEAD~1
適用場(chǎng)景:撤銷提交,但保留更改內(nèi)容,方便重新提交。
效果:提交被撤銷,更改保留在工作區(qū)。
2.?撤銷最后一次提交,并丟棄更改
如果你想徹底撤銷最后一次提交,并丟棄所有更改,可以使用 hard 模式。
git reset --hard HEAD~1
3.撤銷多次提交
如果你想撤銷多次提交,可以指定要回退的 commit 數(shù)量。
# 撤銷最近 2 次提交,保留更改
git reset --soft HEAD~2# 撤銷最近 2 次提交,丟棄更改
git reset --hard HEAD~2
適用場(chǎng)景:需要撤銷多個(gè)提交。
4.?使用 reflog 恢復(fù)誤操作
如果你誤操作了 reset,可以通過 reflog 找到之前的 commit 并恢復(fù)。
# 查看操作歷史
git reflog# 恢復(fù)到某個(gè) commit
git reset --hard <commit-hash>
適用場(chǎng)景:誤操作后需要恢復(fù)。