轉移實際上改變了什麼
GitHub 儲存庫轉移會把儲存庫移到不同的擁有者帳號。這與變更個人檔案使用者名稱不是同一項操作。變更使用者名稱會改變帳號的公開身分,以及由此建構的 URL;轉移儲存庫則是改變該專案的擁有者。如果你的目標是讓個人檔案名稱更簡潔,而不是把專案交給別人,那麼以下的轉移步驟就是錯誤的工具。
這項區別對規劃很重要。一旦原始擁有者帳號停用,就沒有人能登入接受邀請、核准後續事項或修正漏掉的連結。所有依賴舊帳號的事項都必須在那之前處理完畢,而不是之後。
開始前要確認的前置條件
有兩個條件決定轉移能否進行:
儲存庫轉移需要管理員權限,以及一個沒有衝突的儲存庫名稱或分支網路的相容接收帳號。來源
實務上,這表示在提出請求前,要在擁有者端檢查三件事,並在接收者端檢查一件事:
| 檢查項目 | 由誰確認 | 為何會阻擋轉移 |
|---|---|---|
| 擁有者帳號對該儲存庫具有管理員權限 | 擁有者 | 沒有管理員權限就無法發起轉移 |
| 接收帳號相容 | 接收者 | 不相容的接收帳號會使轉移停止 |
| 接收者端沒有同名儲存庫 | 接收者 | 名稱衝突會阻擋轉移 |
| 沒有衝突的分支網路 | 接收者 | 分支網路衝突會阻擋轉移 |
如果任何一列不通過,請在送出請求前解決。在接收者端重新命名儲存庫或選擇不同的目的帳號,都是接收者端的決定,因此請事先談妥,而不是在轉移過程中才發現衝突。
接受步驟有很短的時間窗口
個人帳號之間的轉移,接收者不是被動的一方。他們必須採取行動:
轉移到另一個個人帳號時,接收者要接受一封一天後到期的電子郵件邀請。來源
一天到期是這個流程的主要操作風險。如果接收者位於不同時區、正在休假,或只是沒有留意電子郵件,邀請就可能失效,轉移必須重新開始。請約定一個接收者能聯絡上的送出時間,並告訴他們預期會收到這封郵件,不要讓它一直未讀。
簡單的擁有者/接收者接受檢查清單:
- 擁有者: 確認管理員權限、要移動的確切儲存庫,以及接收者的帳號沒有名稱或分支網路衝突。
- 接收者: 確認目的帳號,並從他們那一端檢查相同的衝突。
- 雙方: 約定一個送出時段,讓接收者能在一天內回覆。
- 擁有者: 送出轉移請求。
- 接收者: 儘快接受電子郵件邀請並回報。
- 擁有者: 在對舊帳號做任何事之前,先確認儲存庫已出現在接收者帳號下。
在第 6 步確認之前,不要停用擁有者帳號。舊帳號是唯一能重新送出失敗或逾期轉移的地方。
之後公開連結會如何
連結行為是轉移讓人意外的地方,因為兩種連結的行為不同:
轉移後儲存庫連結會重新導向,但相關的 GitHub Pages 網站不會重新導向;若舊儲存庫位置被重新使用,儲存庫的重新導向就會失效。來源
這為轉移後的連結稽核提供了明確的分類:
| 連結類型 | 轉移後 | 需要採取的行動 |
|---|---|---|
| 指向舊位置的儲存庫連結 | 重新導向到新擁有者 | 通常不需處理;抽樣驗證即可 |
| 由該儲存庫建置的 GitHub Pages 網站 | 不會重新導向 | 更新所有已發布的 Pages 網站連結 |
| 舊儲存庫位置被他人重新使用 | 重新導向會被移除 | 避免釋出舊位置;保持連結為最新 |
第三列是最容易被忽略的。如果舊儲存庫路徑日後被重新使用,原本默默覆蓋舊連結的重新導向就會消失。請把重新導向視為遷移期間的便利措施,而不是永久保證,並更新你能控制的連結,而不是依賴它。
轉移後的公開連結檢查清單
在接收者確認擁有權之後、擁有者帳號停用之前,執行以下事項:
- 從你的文件、README 以及任何引用該專案的網站中,開啟一些儲存庫連結樣本,確認它們指向新擁有者。
- 找出與該儲存庫相關的每一個 GitHub Pages 網站,因為這些不會重新導向,並更新指向它們的已發布連結。
- 決定舊儲存庫位置要如何處理,以免它以移除重新導向的方式被重新使用。
- 檢查你無法控制的地方(例如外部文章或分享的書籤)的連結,並記下哪些你能更新、哪些不能。
- 在上述全部完成之前,保持擁有者帳號有效。
擁有權移轉與變更使用者名稱的差別
轉移儲存庫與變更個人檔案使用者名稱是兩項不同的任務,各有不同的風險。轉移關乎專案的擁有者是誰;變更使用者名稱則關乎帳號本身的公開身分。如果你真正想要的是整理個人檔案的呈現方式,而不是交出儲存庫,請先從使用者名稱指南開始:變更 GitHub 使用者名稱而不留下失效的個人檔案連結。
如果你兩者都要做,請刻意安排順序:先處理儲存庫擁有權,確認新擁有者能獨立行動,然後才變更或停用舊帳號。如果順序相反,轉移就會依賴一個你已經放棄的帳號。
使用者名稱搜尋適合用在哪裡,以及不適合用在哪裡
在停用帳號之前,人們常想知道舊使用者名稱在其他地方還留下哪些公開痕跡。使用者名稱查詢可以找出其他平台上的公開個人檔案比對結果,這可作為你可能需要更新之連結的線索清單。它不是帳號清單,而且比對結果也不能證明兩個帳號屬於同一個人。請把結果視為需要人工檢查的地方,而不是確認某個連結仍有效或某個帳號屬於你。
TraceSeek 涵蓋 3,000+ 個平台,並在 20–30 秒內提供免費首次掃描。這可以協助你建立待檢視的公開個人檔案清單,但它不會驗證擁有權,也不能取代上述的轉移與連結檢查。儲存庫轉移本身是在 GitHub 上進行,不是在查詢工具中。
實際的操作順序
- 決定你需要的是儲存庫轉移、使用者名稱變更,還是兩者都要。
- 確認管理員權限、接收者相容性,以及沒有名稱或分支網路衝突。
- 在接收者能於一天內接受時送出轉移。
- 確認儲存庫位於新擁有者之下。
- 稽核儲存庫連結,並另外稽核任何 GitHub Pages 連結。
- 保護舊儲存庫位置免於被重新使用。
- 然後才停用擁有者帳號。