目录
git revert HEAD 创建一个新的提交来撤销之前的提交
git rebase 通过交互式 rebase 进行更复杂的回退
git log 显示历史提交记录
git log
命令显示提交历史,其中最新的提交位于最上方。HEAD
指针通常指向当前分支上的最新提交,因此如果你运行 git log
,你应该在列表的顶部看到 HEAD
指向的提交。
查看最近一次的提交:
git log -1
或:
git log HEAD~0
查看 HEAD 和它的“祖先”:
git log HEAD~5..HEAD
这将显示 HEAD
及其前五个“祖先”提交。
查看 HEAD 的详细信息:
git show HEAD
这将显示 HEAD
提交的详细信息,包括差异(diff)。
git reset 回退到指定提交
三种模式:
# 将 HEAD 和工作目录回退到指定的提交
git reset --hard <commit_hash># 将 HEAD 回退,但保留工作目录的更改(更改会处于暂存状态)
git reset --soft <commit_hash># 将 HEAD 回退,保留工作目录的更改,但不处于暂存状态
git reset --mixed <commit_hash>
git revert HEAD 创建一个新的提交来撤销之前的提交
如果你已经将提交推送到远程仓库,最安全的撤销方式是创建一个新的提交,以撤销之前的提交:
git revert HEAD # 撤销最近一次提交
然后你可以用 git push
将新的提交推送到远程仓库。
git rebase 通过交互式 rebase 进行更复杂的回退
如果你需要进行更复杂的历史修改(如删除、修改或合并多个过去的提交),你可以使用交互式 rebase:
git rebase -i <commit_hash>^