一、GitLab Web界面回滚

1.1 通过Revert功能回滚

这是最直观、最安全的Web界面回滚方式:

# 操作步骤:
1. 进入项目仓库
2. 点击 "Commits" 选项卡
3. 找到需要回滚的提交记录
4. 点击提交记录进入详情页
5. 点击 "Revert" 按钮
6. 确认回滚操作

优点:操作简单,无需本地操作,安全可靠 适用场景:单个提交的回滚,团队协作环境

点击"Revert" 按钮:

选择Merge Request会进入1.2到操作,也就是此次回滚需要合并和审核的流程

1.2 通过Merge Request回滚

# 操作步骤:
1. 进入 "Merge Requests"
2. 找到对应的合并请求
3. 点击 "Revert" 按钮
4. 提交回滚的合并请求

注意合并时Target branch一定要选对

二、命令行回滚方法

2.1 使用git revert(推荐)

git revert 是最安全的回滚方式,它通过创建新的提交来撤销之前的更改:

# 回滚最后一次提交
git revert HEAD

# 回滚指定提交
git revert <commit-id>

# 回滚多个提交
git revert <commit1> <commit2>

# 推送到远程仓库
git push origin <branch-name>

示例:

# 查看提交历史
git log --oneline -5

# 回滚指定提交
git revert abc1234

# 推送更改
git push origin main

2.2 使用git reset

git reset 会修改提交历史,需要谨慎使用:

# --soft:保留工作区和暂存区的更改
git reset --soft HEAD~1

# --mixed:保留工作区更改,清空暂存区(默认)
git reset --mixed HEAD~1

# --hard:完全回滚,删除所有更改(危险!)
git reset --hard HEAD~1

重要提醒:--hard 参数会永久删除代码,使用前务必确认!

2.3 强制推送

# 强制推送(谨慎使用)
git push --force origin <branch-name>

# 更安全的强制推送
git push --force-with-lease origin <branch-name>

三、实际应用场景

3.1 场景一:刚推送的代码需要回滚

# 1. 查看提交历史
git log --oneline -3

# 2. 安全回滚最后一次提交
git revert HEAD

# 3. 推送回滚
git push origin main

3.2 场景二:回滚到指定版本

# 1. 查看历史提交
git log --oneline

# 2. 基于指定版本创建新分支(安全方式)
git checkout -b rollback-branch <commit-id>

# 3. 或者重置当前分支(谨慎)
git reset --hard <commit-id>
git push --force-with-lease origin main

3.3 场景三:团队协作中的回滚

# 1. 创建回滚分支
git checkout -b feature-rollback

# 2. 回滚指定提交
git revert <bad-commit-id>

# 3. 推送回滚分支
git push origin feature-rollback

# 4. 在GitLab创建Merge Request进行代码审查

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐