1. ホーム
  2. git

[解決済み] master から新しいデフォルトブランチに変更する git

2022-03-10 20:06:11

質問

あるシーンを想定してみました。

デフォルトのブランチマスターがあり、これを元にブランチを作成し、プッシュアップするなどの作業を行います。

現在、私たちは 開発 ブランチ マスター を作成し、これをデフォルトの開発用ブランチとして設定します。

知りたいのは、git pull コマンドがデフォルトブランチの変更をコマンドラインから要求しているのか、それともこの新しいデフォルトブランチを指しているのかを知るにはどうすればいいのか、ということです。

私が行ったこと - 新しいデフォルトブランチを作成してから、git pull で origin/master から master に移動しました。

また、新しいブランチを作成する場合、Master と Develop のどちらから作成するのでしょうか?

ご覧の通り

On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
PS C:\Users\dir\Documents\GitHub\repo> git log
commit 867cxx

fd956f73dc91d0022b (HEAD -> master, origin/master, origin/develop, origin/HEAD)

を更新しました。 このデフォルトブランチの変更は、レポをクローンした後に発生しました。

解決方法は?

私が知る限り、git には "デフォルトブランチ" という概念はありません。GitHubのようなユーザーインターフェースには、ウェブページを開いたときにデフォルトで特定のブランチ(通常はmaster)が表示されるという意味で、デフォルトブランチというものがあります。しかし、gitについてだけ言えば、masterブランチは特別なものではなく、最初のブランチに付けられた名前に過ぎません。

新しいブランチを作成するには -b フラグを checkout というように、?

git checkout -b develop

git branch コマンドは既存のブランチをすべてリストアップし、その中で * を現在のブランチの横に表示します。あなたが行ったすべてのコミットは、現在のブランチに追加されます。

質問の中で、リモートからのプルについて触れていますね。関連する概念は "Tracking Branches" で、この名前のセクションを参照してください。 https://git-scm.com/book/id/v2/Git-Branching-Remote-Branches .

要するに、あなたが

git pull origin master

から変更を取り込みます。 master ブランチの origin リポジトリから、現在チェックアウトされているブランチに移動します。もし必要なら、リモートトラッキングを設定しておけば、どのブランチをチェックアウトしたかによってどこからプルしたいのかを git が判断できるようになります。

例えば、リモートの develop-remote ブランチと、ローカルの develop-local ブランチを経由して、ローカルブランチがリモートブランチに追従するように設定することができます。

git checkout develop-local
git branch --set-upstream-to origin/develop-remote

また、どちらも単に develop ここでは、わかりやすくするために区別しています。

最後になりますが、このような場合に git pull <url-of-repo> リモート・トラッキングが自動的に確立されます。

追伸:リモートに関する詳細な情報(例:リモートコントロールのための origin をご覧ください。 https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes