Git und der Master-Zweig

Infolge der Unruhen in den USA nach dem Tod von George Floyd wurde in der IT-Branche darüber diskutiert, ob/wie man Begriffe vermeiden kann, die als rassistisch gewertet werden können: Master/Slave-Prozesse, White- und Blacklists etc. Im Git-Umfeld betrifft das den Master-Zweig. (Manche Leute betrachten das als Haarspalterei: Es gibt in Git ja keinen Slave-Zweig. Master hat/hatte in Git nichts mit einer rassistisch geprägten Hierarchie zu tun.)

Wie dem auch sei: Die soeben vorgestellte Git-Version 2.28 bietet die Möglichkeit, bei neuen Repositories einen anderen Namen als master zu verwenden.

Git 2.28

Eines gleich vorweg: Wenn Sie Git 2.28 installieren, verhält sich die neue Version exakt wie die bisherige: Ein neues Repository, das Sie mit git init einrichten, verwendet weiterhin per Default den Zweig master.

git version
  git version 2.28.0.windows.1

mkdir test1
cd test1
git init

git status
   On branch master
   No commits yet

Neu ist aber die neue Option init.defaultBranch, mit der Sie den Defaultnamen master durch einen beliebigen anderen Namen ersetzen können. Ich habe mich im folgenden Beispiel für main entschieden:

git config --global init.defaultBranch main

Von nun an verwendet jedes neue Repository automatisch den Defaultzweig main:

mkdir test2
cd test2
git init

git status
   On branch main
             ^^^^
   No commits yet

Beachten Sie, dass die Option init.defaultBranch keinerlei Einfluss auf schon existierende Repositories hat!

Quellen

PS: Ich habe meine Tests mit Git 2.28 der Einfachheit halber unter Windows durchgeführt. Bis zur Aktualisierung der Git-Pakete auf Version 2.28 in gängigen Linux-Distributionen werden wohl noch etliche Monate verstreichen — sofern es für Ihre Lieblings-Distribution überhaupt je ein Update gibt. Bei vielen Distributionen werden Sie wohl ein Update auf die jeweils nächste Distributions-Version machen müssen. Beispielsweise verwendet Ubuntu 20.04 nach wie vor die Git-Version 2.25.1.