2016-10-13 1 views
2

私は本当にGit(そしてTortiseGitを使用しています)の新機能ですが、ここに私の問題があります。私はDev、QA、Productionの3つの環境を持っています。クライアントは2つの変更を要求したので、Devで両方の変更を行い、コミットしてQA環境にプッシュしました。現在、会社は1つの変更を今すぐプロダクションに、次の変更を別のシステムへの変更を待つことを望んでいます。 Prodにコミットの一部だけをプッシュするにはどうすればよいですか?GITでコミットを分割する

+0

あなたは(少なくとも、技術的にはそうではありませんが、回避することはできません)。そして、プロダクション環境に直接コミットすることに注意してください。これは、待つことができない実際の修正プログラムに対してのみ行う必要があります。 – pbond

+0

「あなたはできない」とはどういう意味ですか? – PeeHaa

+0

@OPあなたはブランチを扱っていますか? – PeeHaa

答えて

3

コミット自体はアトミックなので、分割または分割することはできません。しかし、コミットは単なる変更の集合であるため、変更を分割して、それぞれに必要な変更を含む個別のコミットを作成することができます。

これを行う1つの方法は、分割したい前にコミットをソフトリセットしてから、変更の各セットをステージングして別々にコミットすることです。

すでにコミットをプッシュしてから分割する場合は、古いコミットを分割されたコミットに置き換えるので、強制的にプッシュする必要があります。変更を行う前に必ずプルするようにしてください。

PeeHaaと同意すると、環境ごとに異なるブランチを作成し、必要なコミットを選択することができます。

関連する問題