2017-10-17 14 views
0

をマージ:Gitのブランチと、私は以下の枝を持っている私のプロジェクトでは、シナリオ

  1. マスター
  2. (マスターから作成)ステージング
(初期DEVが完了した後にステージングから作成)に住ん

"ステージング"はすべての開発が行われる場所です。ライブになる前に、 "ライブ"ブランチが "ステージング"から作成されます。その後、 "live"ブランチで、設定ファイルにいくつかの変更が加えられ、FTP/Git FTP経由でアップロードされます。

ここでは、同じファイルセットで「ステージング」と「ライブ」の両方で実行する必要がある変更要求があるとしますが、「ライブ」と「ステージング」には異なる設定ファイルがあり、場合によってはおそらくいくつかの別のファイルがあります:

  1. 手動で両方のブランチを手動で変更しますか?

  2. "live"または "staging"のいずれかからサブブランチを作成し、そこに変更を加えて両方にマージしますか?

"ステージング"からサブブランチを作成し、変更とマージを行った後に、設定ファイルを上書きするかどうかを選択します。

上記のすべてのアプローチが間違っている場合はどうすればいいですか?親切にアドバイス。

+0

私はライブからステージングにマージしたり、ライブでステージングを行います。 –

答えて

1

git cherry-pickを使用すると、1つのブランチから別のブランチに少しずつ異なるコミットを適用できます。

それ以外の場合、ステージングブランチをdevブランチにマージすると、devブランチで行ったコミットとステージングブランチで行ったコミットの間のすべての競合が表示されます。チェリーピッキングでコミットを「複製」するのではなく、両方のブランチに1つのトレーサブルなコミットがあるので、これが好ましいアプローチです。

個人的に私はステージングブランチを分岐してからステージングとdevにマージします。この方法で、ステージングを変更する前に変更をテストできます。

+0

ライブブランチがステージングから派生した場合、重複コミットは何故ですか? –

+0

ライブブランチの後はステージングから派生したためです。ライブに行く前に、configファイルと他のファイルにいくつか変更が加えられました。スチュアートが書いたことは完全に意味があります。それ以上のコメントがあれば、ここに投稿して投稿します。みんなありがとう。 – Kunal

+0

@TimBiegeleisen、cherry-pickingはあるブランチから別のブランチに別のハッシュを持つコミットをコピーして、コミットの2番目のコピーを作成します。代わりにブランチがマージされている場合、それらのコミットはマージするブランチの履歴にとどまり、プロジェクト履歴に2回重複しません。 –

関連する問題