是 Ray 不是 Array

整理這些技術筆記真的很花時間,如果你願意 關閉 Adblock 支持我,我會把這份感謝轉換成更多「踩坑轉避坑」的內容給你!ヽ(・∀・)ノ

Advertisement
2026-01-22 Git

Git init 出現 master 分支提示?教你設定預設分支為 main

Git init 出現 master 分支提示?教你設定預設分支為 main

前言

最近有些學生在使用 Git 的時候,跳出了將「master」設定為初始分支的名稱。這段訊息,他們覺得滿好奇的,所以就來寫一篇文章記錄一下這件事情。

Master 改為 Main 的背景

如果你是比較早期就安裝 Git 的使用者,你後來更新 Git 版本之後,可能會在使用 git init 指令的時候,跳出下面這段訊息:

1
2
3
4
5
6
7
8
9
10
11
提示: 將「master」設定為初始分支的名稱。這個預設分支名稱可以變更。
提示: 如果要設定所有新版本庫要使用的初始分支名稱,
提示: 請呼叫(會隱藏這個警告):
提示:
提示: git config --global init.defaultBranch <name>
提示:
提示: 除了「master」外,常用的分支名稱有「main」,「trunk」以及
提示: 「development」。剛建立的分支可以用這個命令重新命名:
提示:
提示: git branch -m <name>
已初始化空的 Git 版本庫於 /Users/UserName/GitHub/DailyTools/.git/

甚至你上傳到 GitHub 也會提示你可以將預設分支名稱改成 main。

那為什麼會發生這種事情呢?其主因是 2020 年時發生的一件「喬治·佛洛伊德之死」事件導致的,簡單來講就是警方執法過當導致一名非裔美國人喬治·佛洛伊德死亡,引發了全球範圍內的抗議活動,促使各界重新審視和反思種族歧視和不平等問題。

因此美國科技產業也開始去思考哪些慣用名稱裡面可能具有種族歧視的意味,像是「master」(主人)、「slave」(奴隸)、「blacklist」(黑名單)、「whitelist」(白名單)等詞彙,這些詞彙可能會讓人聯想到歷史上的奴隸制度和種族歧視。

所以為了解決這件事情,GitHub 在 2020 年宣布將預設分支名稱從「master」改為「main」,以促進更包容和尊重的命名慣例。其他科技公司和開源社群也陸續跟進這個改變。

而我們常用的「blacklist」(黑名單)和「whitelist」(白名單)這兩個詞彙,也被提案改成「blocklist」(封鎖名單)和「allowlist」(允許名單)。

如何更改預設分支名稱

所以我們到底該如何解決每次跳出來的提示呢?很簡單,我們可以使用下面這個指令來更改預設分支名稱:

1
git config --global init.defaultBranch main

這個指令就是告知 Global(全域)的 Git 設定,將預設的初始分支名稱改成 main,未來只要輸入 git init 指令的時候,就不會再跳出這個提示訊息了。

如果是現有本身已經運行的 Git 專案,我們也可以使用下面這個指令來更改目前分支的名稱:

1
2
3
git switch master # 切換到 master 分支
git branch -m main # 將 master 分支重新命名為 main
git push -u origin main # 將 main 分支推送到遠端倉庫並設置上游分支

接著到 GitHub 的 Settings → Branches 將預設分支改成 main,確認設定完成後再刪除遠端的 master 分支:

1
git push origin --delete master # 刪除遠端的 master 分支

Note
如果你有開啟分支保護規則(Branch Protection Rules),請先將 master 分支的保護規則刪除,然後再到 main 分支重新設定保護規則,否則會無法刪除遠端的 master 分支喔!

如果是多人協作的專案,其他團隊成員在你完成上述步驟後,需要執行以下指令來更新本地的追蹤分支:

1
2
3
git fetch origin # 取得遠端最新狀態
git branch -u origin/main main # 將本地 main 分支設定追蹤遠端的 main
git remote set-head origin -a # 更新遠端 HEAD 指向

這樣就可以將目前的 master 分支改成 main 分支了~

整理這些技術筆記真的很花時間,如果你願意 關閉 Adblock 支持我,我會把這份感謝轉換成更多「踩坑轉避坑」的內容給你!ヽ(・∀・)ノ

Advertisement

你的支持會直接轉換成更多技術筆記

如果我的筆記讓你少踩一個坑、節省 Debug 的時間,
也許你可以請我喝杯咖啡,讓我繼續當個不是 Array 的 Ray ☕

buymeacoffee | line | portaly

Terminal

分享這篇文章

留言

© 2026 Ray. All rights reserved.

Powered by Ray Theme