2016-10-26 13 views
0

をコミットmasterブランチのcommit Aのみをproductionブランチとマージするように求められました。これを行う最善の方法は何ですか?私はセットアップGitlabをしたと私はここに記載のワークフローに従うことをしようとしている

git cherry-pickコマンドを使用する必要がありますか?私はcherry-pickでバージョン履歴を失うことを読んだ。

私が以前のコミットの1つをmasterブランチからproductionブランチにマージする必要がある場合、どうすればよいですか?

私はこれに固執しています。どんな助けでも大歓迎です。

おかげで、

更新: git push <remotename> <commit SHA>:<remotebranchname>

見つかり答えここに:あなたは、具体的選択で行った変更をしたい場合How can I push a specific commit to a remote, and not previous commits?

+0

AとXの間に何かがありますか? – max630

+0

何もありません。 xはプロダクションブランチにマージされた最新のコミットで、プロダクションサーバにデプロイされます。実際に私のリポジトリコミットでは、Aは小さな機能です。それは完了しましたが、生産に追い込まれず、私は他の機能についても作業を続けました。今は、フィーチャーAをプロダクションにプッシュしたいだけです。 –

+0

あなたは単にAコミットをマージすることができます。実際、与えられた答えはちょうどこれを示唆しています。 – max630

答えて

1

チェリーピッキングが実行可能であるマスターブランチから、私は特定のコミットをプッシュすることができますコミットします。適用する必要があるコミットが順番に発生しなかった場合に最も効果的です。個人的には、長期/長期のリリース戦略ではないので、マスター/プロダクションブランチではこれを行うことをお勧めしません。

私のアドバイスはgitの流れに基づいていますが、これはGitLabのアプローチとは多少異なります。

これらが実際のリリースの場合は、リリースブランチワークフローに従うことを検討してください。ここでは、コミットAでリリースブランチを作成して本番環境にマージします。

これらはバグフィックスが必要だが、すべてではない(チェリーピッキングが必要な)場合は、プロダクションブランチからホットフィックスブランチを作成し、そのブランチに最初に必要なコミットを選んでからテストを行う最終的なマージを生産に戻します。そのブランチに余分な変更やコミットが適用されている場合は、それらのブランチは、開発ブランチと同じようにマージする必要があります。

関連する問題