2011-02-04 3 views
3

シナリオをマージ「複雑」:次はGitの中で可能であり、それは私の知識を超えていた場合、私は尋ねてきたのGit

次のシナリオを考える:

  • を私は「新しいブランチを作りますクール機能

は私が得ることができること、それは可能です」トランクからとは

  • 私が作ることにいくつかの作業を行う別のブランチ 『クール機能』から 『空想強化』とその中のいくつかの作業を行います間の差異クール・フィーチャーとファンシー・エンハンスメントを備え、トランクにコミットするだけですか?クールな機能のために追加されたものは残っていますか?

    MASTER 
        \ 
        cool-feature 
        \ 
        fancy-enhancement 
    

    これは可能なはずですが、私はどのように2つのブランチ間で差分を得るのか分かりません。

  • 答えて

    5

    "git diff branch1..branch2"を使用してdiffをマージするか、より良い "git log branch1..branch2"を実行して、必要なコミットを選択します。

    私は最良の選択だと思いますが、特にコミットがたくさんある場合は、interactive rebaseを使用してください。 diffとlogのメソッド私はコミットが少なかったり少なかったりしていた場合にしか使用しませんでした(実際には、ログメッセージを失うためdiffメソッドを使用しません)。

    ちょうどそれが新しいブランチにそれらのコミットを選ぶ桜の違いだろう何

    +1

    (マスターの勃発場合は、ロールバックすることができますので、あなたが、むしろ直接マスターに比べて新しいブランチにこのすべてを行うことを確認してください)それらのコミットをmasterからの新しいブランチにrebaseしますか? –

    関連する問題