問題タブ [git-cherry-pick]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1513 参照

git - git cherry-pick によって導入された重複コミットを削除するには、git rebase をどのように使用すればよいですか?

私は少し混乱していgit rebaseます。

私はdevelop枝と枝を持っていstagingます。に合併developしましたstaging

しかし、チェリーピックが原因で重複したコミットがたくさんあります。重複を削除したい。次のことを行う必要がありますか?

更新:git merge developはローカルなので、まだプッシュしていません

0 投票する
2 に答える
8118 参照

git - タグのチェリーピッキングは後者に影響しますか?

リリースを行っている間、以前にリリースされたタグをチェックアウトし、新しいアイテムを ( を使用してgit cherry-pick <commit-id>) そこにチェリーピックしました。次に、 を使用して新しいタグを作成しましたgit tag <tag-name>

これは、変更をチェリーピックした古いタグに影響しますか?

0 投票する
1 に答える
30 参照

git - 新しいブランチへの GIT パブリック ブランチのクリーンアップ

リモート/パブリックブランチ「OLD」をクリーンアップする必要があります。これには、悪い/巨大なコミットが含まれているためです。

OLD - 簡易グラフ

そうするために私はした:

1) 「NEW」ブランチを作成しました。

2) 最初の大きなコミットの前に戻る (c234)

3) 最後の大きなコミットの前にすべてのコミットをチェリーピックします。(c236)

4) 次に、最後の巨大なコミット (c237) の後で、変更されたすべてのファイルを「OLD」ブランチからコピーしました。

5) そして最終的に、変更を反映する多くの小さなコミットを作成しました (c235、c237)

NEW now - 簡略化されたグラフ

今、私の意見では、(c237) 以降に行われたすべての変更を「OLD」で「NEW」の上にリベース/チェリーピックする必要があります。

NEW 予想 - 単純化されたグラフ

この git-rebase -i の前に試してみましたが、これは公開レポであるため、多くの (OLD の HEAD へのコミットがほぼ 400 件あります) マージが含まれており、時々競合を解決する必要がありました。魔女には何日もかかる可能性があります。

それに対処する方法についてのアイデア。

0 投票する
1 に答える
667 参照

git - Git でのさまざまなコミットのチェリー ピッキング

何かアイデアが得られることを願っていました。私は3つのブランチを持っています:

  • 主人
  • 明確な
  • 機能ブランチ

master汎用コード ベースが含まれているため、後で分岐して新しいタイプの実装を作成する場合でも、簡単に作成できます。しかし、今のところspecific私のメインの開発ブランチです。

そこで、新しい機能をテストするために に分岐specificfeature-branch、満足したら にマージしfeature-branch直しましたspecific

specificしかし、マスターにマージしたくない実装固有のコミットがいくつかあります。ほとんどのコードは一般的な変更であり、マージして元に戻したいと思っています。

からの約 30 の変更を にマージしfeature-branchましたspecificspecificそれらの 30 のうち、おそらく約 20 を からにマージしたいと考えていmasterます。

これを行うための最良の方法は何ですか?

マージしたい各コミットをチェリーピックするだけmasterですか?もしそうなら、時系列の逆順で行くべきですか(つまり、マージしたい最も古いコミットを取得し、次に2番目に古いコミットを取得し、master.

どんなアイデアでも大歓迎です。ありがとう

0 投票する
0 に答える
147 参照

git - シリーズを「チェリーピック」する方法は?

一連のコミットをチェリーピックしたい。これは、(1): --ff-only マージも (2): 相互のリベースも (3): 共有ブランチの両方をリベースして再試行する (1) 私のブランチが非常に広いため、私の特定のケースでは機能しないためです。分岐し、異なっています。ただし、チェリーピックしたいコミットは、コードベースのめったに触れられない部分にあるため、ここではマージ衝突のリスクはありません。たくさんのコミットを 1 つずつチェリー ピックする必要がないようにして、時間を節約するにはどうすればよいでしょうか?

0 投票する
1 に答える
278 参照

git - 競合を無視して、ステージ/インデックスのみをコミットします

私には大きなコミットがあり、厳選しました。pick は競合の合計を作成するようになりました (作業ツリー内)。ここで、すべての競合を解決することなく、ステージングされた (正常にマージされた) すべての変更をコミットしたいと思います。

単純に、コミットはステージでしか機能しないといつも思っていましたが、試してみると、競合を解決しないとコミットできないというメッセージが表示されます。

誰かが私に何が起こっているのか、どうすれば修正できるのか説明してもらえますか?