2

C4commitとをチェリーピックするにはどうすればよいC5ですか?

GitTree

試してみましgit cherry-pick C4..C5たが、 しか得られませんC4。この範囲の仕組みがよくわからないと思います。

4

2 に答える 2

3

TL;DR バージョン:C4^..C5

コマンドがそれを特別に処理しない限り (そして処理しない限りgit cherry-pick)、範囲式は「右側の名前で識別/検索可能なすべてのコミットから、左側の名前で識別/検索可能なすべてのコミットを差し引いたもの」を意味します。この場合C5、0 から 5 までのコミットをC4識別し、0 から 4 までのコミットを識別します。最初のセットから 2 番目のコミット セットを差し引くと、残りはC5.

それを見る別の方法は、コミットが関連している場合、の整数(3, 7]4 5 6 7.

半開整数区間と同様に、通常の簡単な方法は、1 ステップ後ろから始めることです。の(最初の)親はC4isC4^であるため、 を取得するC4^..C5のと同じように、トリックを実行し(2, 7]ます3 4 5 6 7

(親がない場合、つまり、左側がルート コミットの場合、これは失敗します。その場合、別の方法が必要です。これを簡単にするコマンドもあれば、難しくするコマンドもありますが、今のところ問題は無視できます。:- ) )

于 2015-04-24T10:43:19.693 に答える
1

この特定のケースでは、範囲を使用する必要はありません。

からの例man git-cherry-pick:

 git cherry-pick master~4 master~2
           Apply the changes introduced by the fifth and third last commits pointed to by master and create 2 new commits with these changes.

だからあなたのために:

git cherry-pick C4 C5
于 2015-04-24T10:43:44.547 に答える