極狐GitLab 是 GitLab 在中國的發行版,關于中文參考文檔和資料有:
- 極狐GitLab 中文文檔
- 極狐GitLab 中文論壇
- 極狐GitLab 官網
還原更改 (BASIC ALL)
在極狐GitLab 中,您可以還原單個提交或整個合并請求。
當您在 Git 中還原一個提交時,您會創建一個新提交,反轉原始提交所做的所有操作。新提交:
- 刪除原始提交中添加的行。
- 恢復原始提交中刪除的行。
- 恢復原始提交中修改的行,恢復到其先前的狀態。
您的 還原提交 仍然受到項目訪問控制和流程的限制。
還原合并請求
在合并請求合并后,您可以還原合并請求中的所有更改。
前提條件:
-
您必須在項目中擁有允許編輯合并請求和向代碼庫添加代碼的角色。
-
您的項目必須使用在項目的 設置 > 合并請求 中設置的 合并方式 合并提交。
在 GitLab 16.9 及以后版本中,您可以從 GitLab 用戶界面還原快進提交,前提是:- 提交已被壓縮,或
- 合并請求只包含一個提交。
要還原合并請求 Example:
1.在左側邊欄中,選擇 搜索或跳轉 并找到您的項目。
2.選擇 代碼 > 合并請求。
3.在次級菜單中,選擇 已合并,然后選擇您的合并請求(此處為 Example)。
4.滾動到合并請求報告區域,并找到顯示 合并者 信息的報告。
5.選擇 還原。
6.在 還原到分支 中,選擇要將更改還原到的分支。
7.要立即還原而不創建合并請求:
- 清除 啟動新合并請求。
- 選擇 還原,Example 的還原操作完成。
8.要在新合并請求中審查還原內容而不是立即還原,請選擇 啟動新合并請求,然后:
- 填寫還原合并請求的字段,然后選擇 創建合并請求。
- 當合并請求合并時,Example 的還原操作完成。
在您還原了 Example 合并請求后,將不再顯示 還原 選項。
還原提交
您可以將任何提交還原到以下位置之一:
- 當前分支。
- 新的合并請求。
前提條件:
- 您在項目中的角色必須允許您編輯合并請求,并向代碼庫添加代碼。
- 提交不能已經被還原,因為此時不會顯示 還原 選項。
執行步驟:
1.在左側邊欄中,選擇 搜索或跳轉 并找到您的項目。
2.如果您知道包含該提交的合并請求:
- 選擇 代碼 > 合并請求,然后選擇您的合并請求。
- 選擇 提交,然后選擇您要還原的提交標題。
- 這將以合并請求的上下文顯示該提交。
- 在次級菜單下,GitLab 會顯示 查看提交 00001111,其中 00001111 是提交的哈希值。選擇提交哈希值以顯示該提交的頁面。
3.如果您不知道提交來源于哪個合并請求:
- 選擇 代碼 > 提交。
- 選擇提交標題以顯示該提交的詳細信息。
4.在右上角,選擇 選項,然后選擇 還原。
5.在 還原到分支 中,選擇要將更改還原到的分支。
6.要立即還原而不創建合并請求:
- 清除 啟動新合并請求。
- 選擇 還原。
7.要在新合并請求中審查還原內容而不是立即還原,請選擇 啟動新合并請求,然后:
- 填寫還原合并請求的字段,然后選擇 創建合并請求。
- 當合并請求合并時,提交的還原操作完成。
將合并提交還原到不同的父提交
當您還原合并提交時,您合并到的分支(通常是 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.展開 高級。
12.選擇 運行清理。