2016-04-19 11 views
1

Gitについて私は決してしてはいけないことがあるので、私は学びたいです!Git mergeを選択的にコミットします

私のプロジェクトでは、私はmasterを分岐しました。それは本質的にコードベース全体を書き直したものなので、rewriteとしましょう。私がrewriteに取り組んでいた時には、masterにいくつかの重要な変更を行い、展開しました。私の書き直しが終わりましたので、ブランチを開始して以来、マスターに加えられたすべての変更をスピードアップしたいと思います。

通常、私はgit checkout rewrite && git rebase masterのような処理を行い、発生したときに競合を解決しますが、今回はコードベースが完全に異なるため、すべてのコミットが矛盾することを保証できます。

TL、私は疑問に思って何DRは、私はそれぞれを取って行くだろうかあるmasterにコミットし、1対1 rewriteにそれらをマージし、もしそうなら、私は順不同で、おそらく自分のペースでそれを行うとができ必要があります。

答えて

1

git cherry-pickコマンドを使用して、ブランチに特定のコミットを入れることができます。

gitk --allを使用して、すべてのコミットを確認し、ブランチに対して対話的に選択するコミットを選択することもできます。

+0

追加の保険については、git checkout rewrite && git checkout -b rewriteMergeを実行すると、チェリーピッキングを開始して実行するブランチが同じになります。そうすれば、何かが、どこにいてもうまくいけば、あなたがいた場所に戻るのはちょっと簡単です。もちろん、他のメソッド(リセットや、最後の 'rewrite'コミットshaValに基づいて新しいブランチを作成するなど)がありますが、この方法はブランチを変更するだけで具体的かつアクセス可能なものになります。 – tniles09