• TOP
  • 記事一覧
  • 本番環境 / ステージング環境 でのGitブランチ切り替え方法と注意点 Note: witching to ‘origin/new_feature’. You are in ‘detached HEAD’ state…

本番環境 / ステージング環境 でのGitブランチ切り替え方法と注意点 Note: witching to ‘origin/new_feature’. You are in ‘detached HEAD’ state…

更新日:2025/02/16

前提

  • 本番サーバーにSSH接続している状態
  • 開発環境で新しいブランチが作成済みでGithubにアップ済み

リモートの最新情報を取得

git fetch

実行結果:

...
* [new branch]        new_feature    -> origin/new_feature
...

この出力で新しいブランチが取得できたことが確認できます。

git fetch 実行後 開発環境 M F 本番環境 M F 開発環境の最新情報を本番環境に取得 (この時点ではまだブランチは切り替わっていない)

よくある間違い方

git checkout origin/new_feature

このコマンドを実行すると、以下の警告が表示されます:

Note: switching to 'origin/new_feature'.
You are in 'detached HEAD' state...
間違った方法:git checkout origin/feature 本番環境 M F H Detached HEAD状態(望ましくない) 表示は反映されるが、本番環境での管理として正しくない

これは「detached HEAD」という望ましくない状態になってしまいます。
Webサイトの表示自体は反映されますが、Gitの管理としては正しくない状態です。

正しい切り替え方法

git checkout new_feature

実行結果:

Branch 'new_feature' set up to track remote branch 'new_feature' from 'origin'.
Switched to a new branch 'new_feature'
正しい方法:git checkout feature 本番環境 M F H 正常なブランチ状態 本番環境で正しく管理された状態

このコマンドで:

  1. ローカルブランチが自動的に作成される
  2. リモートブランチの内容が反映される
  3. 正しいブランチ状態で切り替わる
正しい手順まとめ Step 1: git fetch リモートの最新情報を取得 Step 2: git checkout [branch-name] ブランチを切り替え(origin/は付けない) 注意点: ・origin/branch-nameの形式は使わない ・detached HEAD状態を避ける

人気記事ランキング
話題のキーワードから探す