如何查看Git分支fb-1的提交记录并回退到指定提交前?
查看fb-1分支提交并回退代码的操作步骤
一、切换到fb-1分支(如果当前不在该分支)
Git 2.23及以上版本推荐用更直观的命令:
git switch fb-1
旧版本Git可使用:
git checkout fb-1
二、查看fb-1分支的所有提交记录
以下是几种常用的查看方式,按需选择:
- 查看完整提交详情(包含哈希值、作者、日期、提交说明):
按git logq键可退出查看界面。 - 查看简洁版提交列表(每行显示短哈希+提交说明,便于快速浏览):
git log --oneline - 查看带分支结构的提交图(适合理清分支合并脉络):
git log --graph --oneline --decorate
三、回退到特定提交之前的状态
先从提交列表中找到目标提交的哈希值(比如要回退到abc123提交之前,可直接用abc123^或abc123~1指代它的父提交)。根据代码是否推送到远程仓库,分两种操作场景:
场景1:代码仅在本地,未推送到远程仓库
这种情况可直接修改本地分支历史:
- 保留后续修改(仅回退分支指针,修改内容留在工作区/暂存区):
适合需要调整后续提交内容的场景。git reset --soft <目标提交哈希> - 彻底丢弃后续所有修改(包括工作区未提交的改动):
⚠️ 此操作会永久丢失未提交的修改,执行前务必确认工作区无重要改动,或先用git reset --hard <目标提交哈希>git stash暂存(之后可通过git stash pop恢复)。
场景2:代码已推送到远程仓库
为避免破坏协作的远程分支历史,推荐用撤销提交的方式:
git revert <需要撤销的提交哈希>
该命令会创建一个新提交,将指定提交的改动全部撤销。执行后提交这个撤销记录,再推送到远程:
git push origin fb-1
新手注意事项
- 操作前务必用
git status检查当前分支和工作区状态,避免误操作其他分支。 - 不确定哈希值时,重复执行
git log确认,不要凭记忆输入。 - 若操作失误,可通过
git reflog查看所有分支操作记录,找回之前的状态。
内容的提问来源于stack exchange,提问作者Chicken Sandwich No Pickles
相关产品推荐
相关产品推荐

