作成日:2024-10-21, 更新日:2025-03-12
ローカル環境や別環境で、フィーチャーブランチを用意
フィーチャーブランチを作成し、対象を指定して「git push」しておく必要がある
※「アプリ: Sourcetree」を使うときはプッシュするときにプッシュ先を設定
gitコマンド
$ git push --set-upstream origin feature/〇〇〇
任意の環境でフィーチャーブランチを使う
- 現在のブランチを確認
- リモートのブランチを確認
- 必要なフィーチャーブランチを落とす+チェックアウト
- チェックアウトできたか確認
現在のブランチを確認
$ git branch
リモートのブランチを確認
$ git fetch origin $ git branch -r
必要なフィーチャーブランチを落とす+チェックアウト
$ git checkout -b feature/〇〇〇 origin/feature/〇〇〇
フィーチャーブランチを落としているときのチェックアウト
$ git checkout feature/〇〇〇
チェックアウトできたか確認
$ git branch
まとめ
各環境
- 自分のPC(Win)で作業するためのローカル環境
- 確認用のステージング環境
- 公開用の本番環境
処理の流れ
- ローカル環境で「ブランチ: develop」から「フィーチャーブランチ: work_xxx」を作成して、作業
- ローカル環境で「ブランチ: develop」から「フィーチャーブランチ: view_xxx」を作成して、「フィーチャーブランチ: work_xxx」をマージ
- 「フィーチャーブランチ: view_xxx」をリモートにpush
- ステージング環境で「フィーチャーブランチ: view_xxx」をpull
- 問題無ければ「ブランチ: develop」に「フィーチャーブランチ: work_xxx」をマージしてpush
- ステージング環境で「ブランチ: develop」をpull
- 問題無ければ「ブランチ: master」に「ブランチ: develop」をマージしてpush
- 本番環境に「ブランチ: develop」をpull
- ローカル環境の「フィーチャーブランチ: work_xxx」を削除
- 各環境の「フィーチャーブランチ: view_xxx」を削除
- リモートの「フィーチャーブランチ: view_xxx」を削除
基本「Sourcetree」というGUIを使っているのでgitコマンドはあまり使っていない...
ステージング環境で「フィーチャーブランチ: view_xxx」をpull
▼リモートリポジトリの情報取得、リモートリポジトリの確認
$ git fetch origin $ git branch -r
▼必要なブランチを作成してチェックアウト、ローカルリポジトリの確認
$ git checkout -b feature/〇〇〇 origin/feature/〇〇〇 $ git branch
▼チェックアウト: フィーチャーブランチがあるとき
$ git checkout feature/〇〇〇
各環境の「フィーチャーブランチ: view_xxx」を削除
▼削除(-d)
$ git branch -d feature/〇〇〇
▼強制削除(-D)
$ git branch -D feature/〇〇〇
リモートの「フィーチャーブランチ: view_xxx」を削除
$ git push origin --delete feature/〇〇〇
リモートの「フィーチャーブランチ: view_xxx」を削除ができない...
リモートにあるのに削除できない...とエラーがでてきた
$ git branch -r origin/HEAD -> origin/master origin/develop origin/feature/〇〇〇 origin/master $ git push origin --delete origin/feature/〇〇〇 error: unable to delete 'origin/feature/〇〇〇': remote ref does not exist error: failed to push some refs to 'http://example.test/hoge/foo.git'
▼正しくはorigin/featureの「origin」がいらないそうだ...
$ git push origin --delete feature/〇〇〇