还原更改

在极狐GitLab 中,您可以还原单个提交或整个合并请求。

当您在 Git 中还原一个提交时,您会创建一个新提交,反转原始提交所做的所有操作。新提交:

  • 删除原始提交中添加的行。
  • 恢复原始提交中删除的行。
  • 恢复原始提交中修改的行,恢复到其先前的状态。

您的 还原提交 仍然受到项目访问控制和流程的限制。

还原合并请求

在合并请求合并后,您可以还原合并请求中的所有更改。

前提条件:

  • 您必须在项目中拥有允许编辑合并请求和向代码库添加代码的角色。
  • 您的项目必须使用在项目的 设置 > 合并请求 中设置的 合并方式 合并提交

    在 GitLab 16.9 及以后版本中,您可以从 GitLab 用户界面还原快进提交,前提是:

    • 提交已被压缩,或
    • 合并请求只包含一个提交。

要还原合并请求 Example

  1. 在左侧边栏中,选择 搜索或跳转 并找到您的项目。
  2. 选择 代码 > 合并请求
  3. 在次级菜单中,选择 已合并,然后选择您的合并请求(此处为 Example)。
  4. 滚动到合并请求报告区域,并找到显示 合并者 信息的报告。
  5. 选择 还原
  6. 还原到分支 中,选择要将更改还原到的分支。
  7. 要立即还原而不创建合并请求:
    1. 清除 启动新合并请求
    2. 选择 还原Example 的还原操作完成。
  8. 要在新合并请求中审查还原内容而不是立即还原,请选择 启动新合并请求,然后:
    1. 填写还原合并请求的字段,然后选择 创建合并请求
    2. 当合并请求合并时,Example 的还原操作完成。

在您还原了 Example 合并请求后,将不再显示 还原 选项。

还原提交

您可以将任何提交还原到以下位置之一:

  • 当前分支。
  • 新的合并请求。

前提条件:

  • 您在项目中的角色必须允许您编辑合并请求,并向代码库添加代码。
  • 提交不能已经被还原,因为此时不会显示 还原 选项。

执行步骤:

  1. 在左侧边栏中,选择 搜索或跳转 并找到您的项目。
  2. 如果您知道包含该提交的合并请求:
    1. 选择 代码 > 合并请求,然后选择您的合并请求。
    2. 选择 提交,然后选择您要还原的提交标题。 这将以合并请求的上下文显示该提交。
    3. 在次级菜单下,GitLab 会显示 查看提交 00001111,其中 00001111 是提交的哈希值。选择提交哈希值以显示该提交的页面。
  3. 如果您不知道提交来源于哪个合并请求:
    1. 选择 代码 > 提交
    2. 选择提交标题以显示该提交的详细信息。
  4. 在右上角,选择 选项,然后选择 还原
  5. 还原到分支 中,选择要将更改还原到的分支。
  6. 要立即还原而不创建合并请求:
    1. 清除 启动新合并请求
    2. 选择 还原
  7. 要在新合并请求中审查还原内容而不是立即还原,请选择 启动新合并请求,然后:
    1. 填写还原合并请求的字段,然后选择 创建合并请求
    2. 当合并请求合并时,提交的还原操作完成。

将合并提交还原到不同的父提交

当您还原合并提交时,您合并到的分支(通常是 main)始终是第一个父提交。要将合并提交还原到不同的父提交,您必须从命令行还原该提交,参见 使用 Git 还原和撤销更改

从代码库中去除文本

  • 在极狐GitLab 17.1 中引入,使用名为 rewrite_history_ui 的标志。默认禁用。GitLab 团队成员可以在此机密问题中查看更多信息:https://gitlab.com/gitlab-org/gitlab/-/issues/450701
  • 在极狐GitLab 17.2 版本为 JihuLab.com 启用。
  • 在极狐GitLab 17.3 版本为私有化部署版本启用。

永久删除意外提交的敏感或机密信息,确保它在您代码库的历史记录中不再可访问。将一系列字符串替换为 ***REMOVED***

另外,要完全删除代码库中特定的文件,请参见 移除二进制文件

前提条件:

  • 您必须拥有该项目的所有者角色。

要从代码库中删除文本:

  1. 在左侧边栏中,选择 搜索或跳转 并找到您的项目。
  2. 选择 设置 > 仓库
  3. 展开 仓库维护
  4. 选择 删除文本
  5. 在抽屉中输入要删除的文本。 您可以使用正则表达式和通配符模式。
  6. 选择 删除匹配的字符串
  7. 在确认对话框中,输入您的项目路径。
  8. 选择 是,删除匹配的字符串
  9. 在左侧边栏,选择 设置 > 一般
  10. 展开 高级
  11. 选择 运行清理

相关主题