更改 GitHub 帳戶名稱後,實際會有哪些東西失效
GitHub 用戶名稱不單是一個標籤。它是你的個人檔案網址、儲存庫網址和提交身分的一部分。當你更改它時,會發生三件不同的事,而它們以三種不同方式失效。
第一,舊的個人檔案網址會停止運作。任何曾將你的個人檔案加入書籤、在履歷中連結到它,或在 README 中提及它的人,都會遇到死連結。
更改用戶名稱後,舊的 GitHub 個人檔案連結會傳回 404。來源
第二,儲存庫參照通常會重新導向。如果有人瀏覽 github.com/oldname/repo,GitHub 一般會將他們轉到 github.com/newname/repo。這個重新導向很方便,但並非保證。如果另一位用戶註冊了你的舊用戶名稱,並建立一個同名儲存庫,重新導向便可能被覆蓋,訪客可能落到別人的專案。
儲存庫參照通常會重新導向,但另一位用戶註冊舊名稱並建立同名儲存庫,則可覆蓋重新導向。來源
第三,你的 Git 遠端是另一回事。本機複本仍指向舊網址,直至你更新它。推送和拉取可能失敗,或者更糟,如果舊名稱被重用,可能會指向錯誤的地方。
更改用戶名稱後,應檢查 Git 遠端網址。來源
這是三個不同的問題。將它們當作一個問題處理,是改名後留下手尾的最常見原因。
第一步:盤點舊用戶名稱出現的每個地方
在更改任何東西之前,先列出舊用戶名稱被使用的地方。趁舊個人檔案仍能解析時做這件事,因為這樣比較容易對照。
| 位置類型 | 例子 | 什麼會失效 | 改名後修正 |
|---|---|---|---|
| 個人檔案連結 | 個人簡介、履歷、作品集、電郵簽名、社交個人檔案 | 舊個人檔案網址傳回 404 | 將連結更新為新個人檔案網址 |
| 儲存庫參照 | README 徽章、複製網址、議題連結、wiki | 通常會重新導向;可被舊名稱的新擁有者覆蓋 | 在你控制文字的地方更新為新擁有者路徑 |
| Git 遠端 | 本機複本、CI 設定、部署腳本 | 推送/拉取可能失敗或指向錯誤的儲存庫 | 更新遠端網址並重新測試 |
| 提交身分 | 提交中的作者電郵 | 若個人電郵公開,會暴露私隱 | 使用 noreply 地址並檢查暴露情況 |
一個簡單的盤點方法:在自己的檔案和筆記中搜尋確切的舊用戶名稱,然後檢查你控制的公開地方。不要依賴記憶。舊用戶名稱經常在你兩年前編輯過的個人簡介中留存。
第二步:區分個人檔案連結與儲存庫重新導向
這個決定會影響你工作量的大小。在開始編輯前,先使用此表。
| 情況 | 會重新導向嗎? | 行動 |
|---|---|---|
舊個人檔案網址(github.com/oldname) | 不會;傳回 404 | 更新你控制的每個連結 |
舊儲存庫網址(github.com/oldname/repo) | 通常會 | 在切實可行的地方更新;保留你無法編輯的地方清單 |
| 舊名稱被他人註冊 | 重新導向可被覆蓋 | 優先更新儲存庫參照 |
| 本機 Git 遠端 | 不是網頁重新導向 | 手動更新遠端網址 |
| 提交作者電郵 | 不是重新導向 | 另行檢查私隱設定 |
由此得出兩條實用規則。個人檔案連結需要主動替換,因為沒有東西會轉發它們。儲存庫參照的迫切性較低,但並非零,因為重新導向取決於舊名稱保持無人註冊。
如果你無法編輯某個儲存庫參照,例如第三方的 README 或已封存的頁面,請記錄下來。重新導向目前可能涵蓋它,但這不是永久的保護。
第三步:更新個人檔案連結和個人簡介
逐一處理你的個人檔案網址以連結形式出現的地方。目標是讀者點擊你的名字時,會到達新的個人檔案,而不是 404。
- 更新你的 GitHub 個人簡介和任何網站欄位。
- 更新個人網站、作品集和履歷的連結。
- 更新你列出 GitHub 網址的社交個人檔案。
- 更新電郵簽名和任何已發表的講者簡介。
- 檢查釘選的儲存庫和個人檔案 README 是否有舊用戶名稱的連結。
當你檢查社交個人檔案時,請記住用戶名稱搜尋可以找出你已遺忘的公開用戶名稱。像 TraceSeek 這樣的工具會檢查 3,000+ 個平台,首次掃描免費;它有助找出仍使用舊名稱的公開個人檔案。它不會更改任何平台上的設定,也不會揭露私人記錄。它只幫助你找出公開用戶名稱,讓你自己審查。
有關審查公開用戶名稱的更廣泛方法,請參閱按用戶名稱尋找社交媒體帳戶的指南:/guides/find-social-media-accounts-by-username/。有關 GitHub 特定的公開用戶名稱審查,查詢頁面位於 /find/github/。
第四步:更新 Git 遠端和儲存庫參照
本機複本不會自行更新。對於你仍使用的每個複本,檢查遠端網址並將其指向新的擁有者路徑。
- 列出你的本機複本,並記下哪些你仍會推送。
- 檢查每個遠端網址是否有舊用戶名稱。
- 將遠端更新為新網址。
- 在依賴它之前,重新測試一次擷取或拉取。
- 檢查引用舊路徑的 CI 設定和部署腳本。
你自己 README、徽章和 wiki 中的儲存庫參照也值得更新。重新導向通常有效,但直接連結到新路徑更清晰,且不依賴舊名稱保持無人註冊。
第五步:將提交電郵私隱與改名分開處理
更改用戶名稱不會自動修正提交電郵的暴露問題。如果你的提交帶有個人電郵地址,該地址無論你的用戶名稱如何,都會在歷史記錄中可見。這是私隱問題,不是連結重新導向問題,值得單獨處理。
檢查你的提交歷史中出現哪個電郵地址,並決定它是否是你想公開的。GitHub 提供 noreply 地址選項,但確切的選單路徑和當前行為應在 GitHub 自己的文件中查閱,因為平台介面會改變。不要假設改名已解決此問題。
常見錯誤
- 假設個人檔案會重新導向。 它不會。舊個人檔案連結會傳回 404,沒有設定可以改變這一點。
- 將儲存庫重新導向視為永久。 如果有人註冊舊名稱並建立同名儲存庫,重新導向可以被覆蓋。
- 忘記本機遠端。 網頁重新導向不會更新本機複本。推送可能失敗或指向錯誤的地方。
- 將改名與電郵私隱混淆。 提交電郵暴露與用戶名稱無關,需要另行審查。
- 只編輯你記得的地方。 個人簡介和舊社交個人檔案很容易被遺漏;盤點一次就能找出它們。
- 假設公開匹配證明擁有權。 另一個平台上的用戶名稱匹配是一條線索,不是證明該帳戶屬於你或任何其他人。
改名後保護自己的數碼足跡
改名是一次性動作;清理是持續的。保留一份簡短記錄,記下舊用戶名稱出現的地方,並在幾週後重新檢查高價值的地方,例如你的作品集、履歷和主要社交個人簡介。公開頁面會被快取和複製,所以你修正過的連結可能會在其他地方重現。
同時決定你想如何處理舊用戶名稱。如果你不打算使用它,要明白其他人可能會註冊它,這正是儲存庫重新導向脆弱的原因。你無法控制誰註冊未使用的名稱,所以持久的解決方案是更新你控制的參照,而不是依賴轉發。
最後,在腦海中保持三個問題分開:個人檔案連結需要替換,儲存庫參照需要在切實可行的地方更新,提交電郵私隱需要自行審查。處理好這三方面的改名,會留下更少失效連結和更少意外。
關鍵事實
- 更改用戶名稱後,舊的 GitHub 個人檔案連結會傳回 404。
- 儲存庫參照通常會重新導向,但另一位用戶註冊舊名稱並建立同名儲存庫,則可覆蓋重新導向。
- 更改用戶名稱後,應檢查 Git 遠端網址。
- TraceSeek 檢查 3,000+ 個平台,首次掃描免費。
- 用戶名稱搜尋不是完整的帳戶清單,公開匹配是線索而非擁有權證明。