例えば開発、テスト、デバッグ用にマスターブランチからブランチを切って確認することを想定する
テスト用ブランチ:test_branch
本番用ブランチ:real_branch
とする
方法1.
開発環境
開発サーバーにユーザーtest、ユーザーrealがいる
ユーザーtestのローカルにはtest_branchのブランチからクローンしたファイルがあり、
ユーザーrealのローカルにはreal_branchのブランチからクローンしたファイルがある
ユーザーtestでローカルファイルを編集してそれをreal_branchに反映したい
やりかた
$ git checkout real_branch # 参照しているブランチの向き先がtest_branchからreal_branchに変わる
$ git show test_branch:ファイル名 # ファイルの存在の確認
$ git checkout test_branch -- ファイル名 # ファイルをtest_branchからreal_branchにとってくる
# ちなみにファイルだけではなくてディレクトリもとってこれる
$ git checkout test_branch ディレクトリ名
試してないけど複数指定もスペースで区切ってできるんじゃないかな
方法2.
開発環境
また、自分はローカルで編集してそれをサーバーに反映させる方法でやっており、tortoiseGitを使っているのでその前提で進める
やりかた
テスト用のブランチをローカルにクローンして編集、コミット、プッシュでサーバー側でプルして動作を確認
問題なければ、ローカルにクローンしたマスターブランチをまずはプルする
これをしないとテスト用のブランチで修正した情報が落ちてきていないため、マージ情報としてその修正情報が表示されずマージできない
ローカルでプルできたらtortoiseGitでエクスプローラー上でマスターブランチのフォルダを右クリックしてマージを選択
マージ元のブランチにテスト用のブランチを指定
マージできたらマスターブランチにプッシュする
あとはサーバー側でプルしてリリースという流れ
コメント