GitLab 使用者名稱變更實際影響的範圍
請將 GitLab 使用者名稱變更視為具有公開後果的命名空間遷移,而非單純的個人檔案編輯。個人檔案中的使用者代稱與專案 URL 中的路徑彼此連動,因此重新命名可能影響任何指向舊路徑的項目。
變更 GitLab 使用者名稱也會改變帳號的個人命名空間。來源
單就這一點,就能說明為何檢查應在重新命名之前進行,而非之後。若有任何專案、頁面、套件或外部參照依賴舊命名空間路徑,你需要事先知道,並決定如何處理。
兩項文件記載的阻礙
GitLab 針對使用者名稱變更訂有特定先決條件。範圍雖窄,但這是此處核准來源中唯一建立的阻礙組合,因此請將其視為第一道關卡。
使用者名稱變更的先決條件是:命名空間中不得有專案帶有 Container Registry 標籤,也不得有專案託管 GitLab Pages。來源
實務上,這表示你應盤點個人命名空間中的專案,找出任何使用 Container Registry 標籤或託管 GitLab Pages 的專案。這些專案必須在重新命名前解決或搬遷。不要假設沒有這些功能的專案就自動安全;來源僅將這些建立為先決條件,並非所有可能下游影響的完整清單。
承諾變更前先檢視重新導向行為
核准來源也指出,GitLab 指示使用者在變更使用者名稱前先檢視儲存庫重新導向行為,而新使用者名稱路徑位於個人檔案帳號設定中,並有「Update username」動作。
GitLab 指示使用者在變更使用者名稱前先檢視儲存庫重新導向行為;個人檔案帳號設定提供新使用者名稱路徑與「Update username」。來源
重新導向行為正是重新命名看似無害、卻仍可能造成破壞的地方。在變更任何內容之前,請閱讀適用於你帳號的重新導向指引,並記錄其涵蓋與未涵蓋的範圍。若你無法確認重新導向對專案的行為,請先停下並解決該問題。在檢查完哪些項目依賴舊路徑之前,不應將重新命名視為無害。
相依性工作表
使用此工作表記錄你的發現。在進行變更前填寫,並保留作為你決策的紀錄。
| 檢查項目 | 應記錄內容 | 停止條件 |
|---|---|---|
| 個人命名空間專案 | 命名空間中的每個專案,以及是否使用 Container Registry 標籤或 GitLab Pages | 任何專案帶有 Container Registry 標籤或託管 GitLab Pages |
| 重新導向行為 | 重新導向指引對舊路徑的說明,以及涵蓋哪些專案類型 | 你無法確認重新導向如何適用於你的專案 |
| 公開參照 | 顯示舊命名空間路徑的頁面、文件、README 或個人檔案 | 某個參照無法更新或重新導向 |
| 所有權 | 你控制該帳號與被重新命名的專案 | 任何受影響專案的所有權不明確 |
| 下游使用者 | 任何複製、連結或依賴舊路徑的人 | 你無法告知他們或提供可用的替代路徑 |
此工作表是起點,不是保證。核准來源並未建立所有可能的相依性,因此請為你設定中任何特定項目新增列。
逐步檢查
- 列出個人命名空間中的專案。針對每個專案,註明是否使用 Container Registry 標籤或託管 GitLab Pages。
- 若任何專案有上述任一相依性,決定在重新命名前移除、搬遷或以其他方式解決。在文件記載的阻礙仍存在時,請勿繼續。
- 閱讀儲存庫重新導向指引,並寫下其對你專案的涵蓋範圍。若答案不明確,請停止。
- 搜尋你的公開資料中是否有舊命名空間路徑:專案頁面、README、文件,以及連結到你工作的個人檔案。
- 確認你控制該帳號與每個受影響專案。若所有權不明確,請停止。
- 僅在工作表完成且無任何停止條件適用後,前往個人檔案帳號設定,輸入新使用者名稱並使用「Update username」。
- 變更後,重新檢查你記錄的參照,確認每個參照仍可解析或已更新。
需預先規劃的失敗路徑
- 阻礙專案仍存在。 若命名空間中仍有帶有 Container Registry 標籤或 GitLab Pages 的專案,依文件記載的先決條件,重新命名無法繼續。請先解決,而非試圖繞過。
- 重新導向涵蓋範圍不明。 若你無法確認重新導向行為,請將重新命名視為未驗證並暫停。基於假設繼續進行,正是此檢查要防止的失敗模式。
- 遺漏公開參照。 舊命名空間路徑可能殘留在文件、README 或個人檔案中。變更後逐一檢查你記錄的清單,並修正未跟上的項目。
- 所有權不確定。 若你不確定是否控制某專案或帳號,請停止。在沒有明確所有權的情況下進行重新命名,會造成更難收拾的問題。
此檢查未告訴你的事
核准來源並未描述所有可能參照你命名空間的下游系統,也未承諾重新命名無害。除了個人檔案帳號設定路徑與「Update username」動作外,也未建立選單細節。在來源沉默之處,請在工作表中記錄缺口,而非以假設填補。
相關的下一步任務
重新命名完成且專案參照穩定後,另一個問題是你的使用者名稱現在會在何處出現。若你想查看某個使用者代稱在公開平台上出現的位置,關於如何依使用者名稱尋找社群媒體帳號的指南涵蓋該任務。請將兩項工作分開:GitLab 檢查是關於命名空間相依性,而使用者名稱查詢是關於公開個人檔案,且公開比對結果是線索,而非所有權證明。