マスターからメインに移動するためのチートシート


私自身の参照のために、そして、masterからmainまで主要なGIT支店を動かすことに興味がある他の誰でも.

I'm not interested in discussing reasons to do this here, it has been rehashed thousands of times already.


TLドクター

既存プロジェクトの移動


1 .名前の変更


git branch -m master main # history unchanged
git push origin HEAD
git branch -u origin/main main

既存のprs


あなたはそれを行うにはhttps://github.com/ethomson/retarget_prsを使用することができます.

3 .デフォルト分岐を設定する


あなたがmainブランチを押したことを確認してください、それからhttps://github.com/USERNAME/REPONAME/settings/branchesに向かう- docs here

4 .ローカルクローンを更新する(該当する場合)


あなたがOSSのローカルフォークで働いているならば、これは便利です
$ git branch --unset-upstream
$ git branch -u origin/main

新規プロジェクトのデフォルト設定


あなたは、同様にmain支店から始めるためにあなたのマシンでつくられる新しいプロジェクトをセットすることができます.
## Git 2.28+
git config --global init.defaultBranch main
## Git 2.27-
git config --global alias.new '!git init && git symbolic-ref HEAD refs/heads/main'
あなたが私のようなMacにいるならば、あなたはバージョンを更新するために、brew upgrade gitまたはdownload Gitでありえます.最近のバージョンもsparse-checkout、場合には、より多くのインセンティブをアップグレードする必要が含まれます.
これはあなたのローカルマシン上の新しいプロジェクトのためです-残念ながらGithubはまだGithubに作成された新しいreposのデフォルトmainブランチを設定するための新しい設定をしていません.

Edit: now it has! head to https://github.com/settings/repositories to set it



bashのエイリアスを設定する


最後に、mainを最初に実行してmasterを実行するように設定することができます.
alias gpom="git push origin main 2> /dev/null || git push origin master"

BASHエイリアス Githubの計画


GitHubプロセスがむしろマニュアルのようであるならば、心配しないでください.私は、githubの上で何百ものreposを持ちます.Githubは、これを管理するために自動化されたツーリングをリリースする計画を持っています.
計画:
  • ✅ 削除された支店
  • のリダイレクト
  • ✅ 月1日- https://github.com/github/renaming
  • ✅ 月26日- GitHub Pages work from any branch
  • ✅ 月1日-デフォルト支店は、GiThub
  • の上でmainに自動的に変わります
  • ☑ 夏-新しいrepos
  • の設定可能なデフォルト
  • ☑ 既存のreposのためのprs/リリース/ページを再ターゲット化すること