2024 01 03 20:13 Gitブランチ名の変更
Daichi
git ブランチ名の変更
git のデフォルトブランチの名前が master になっている。
BLM 的に main に変更したいと思い対応した。
ギットハブ、「マスター」の用語を変更–BLM運動がきっかけに - ZDNET Japan
コマンド
# 現在のブランチの状態確認
git branch
# ブランチ名の変更
git branch -m <現在のブランチ名> <変更したいブランチ名>
# ブランチ名の変更を確認
git branch
何かミスった
% git push origin main
To https://xxxxxxxxxx/
! [rejected] xxxx -> yyyy (fetch first)
error: failed to push some refs to 'https://xxxxxxxxxx/
hint: Updates were rejected because the remote contains work that you do not
hint: have locally. This is usually caused by another repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
google翻訳↓
% git プッシュオリジンメイン
https://xxxxxxxxxx/ へ
! [拒否] xxxx -> yyyy (最初にフェッチ)
エラー: 一部の参照を「https://xxxxxxxxxx/」にプッシュできませんでした
ヒント: リモートに含まれていない作業が含まれているため、更新は拒否されました。
ヒント: ローカルにあります。これは通常、別のリポジトリがプッシュすることによって発生します。
ヒント: 同じ参考文献。リモートの変更を統合する場合は、次を使用します。
ヒント: 再度プッシュする前に「git pull」してください。
ヒント: 詳細については、「git Push --help」の「早送りに関する注意」を参照してください。
良く分からないが、とりあえずリモートブランチの名前変更してみる。
リモートブランチの編集
githubのブランチ見てみたらこんな感じだった。
master (default):この記事などを保存している。
|__ main:試しに作っていただけ。何も入っていない。
で、調べていたが、昨日デフォルトブランチを変更したような?ことを思い出す。だから pull しろと出ていたのか。
# main ブランチを削除する -> master ブランチの名前を変更する
# git pull でリモートブランチの情報を更新する
git pull
その後、再び git push してみるがまたエラー。
git hub のブランチ一覧から main -> main-old, master -> main に変更してみる。すると以下が推奨コマンドがポップアップしてきた。
git branch -m master main
git fetch origin
git branch -u main main
git remote set-head origin -a
# 結果
% git fetch origin
From https://github.com/xxx
+ 305c6a6...e470dbb main -> origin/main (forced update)
* [new branch] main-old -> origin/main-old
% git branch -u main main
warning: not setting branch 'main' as its own upstream
% git remote set-head origin -a
origin/HEAD set to main
その後、 git push してみると問題無くプッシュ出来た。
また失敗
プッシュは出来たが、何故か上手く行かない、、、
cloudflare のダッシュボードを見ると、リポジトリの変更は検知しているようなので、github のアクセストークン設定を全許可にしてみる → 失敗。
解決
cloudflare pages のビルド設定を見ていたら、プロダクションブランチの設定項目があって、それを以前の master から main に変更。再度プッシュ。