問題タブ [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 に答える
461 参照

git - Gitは、マスターに戻さずにプルリクエストブランチでチェリーピックを元に戻します

git revert を使用してチェリーピックを元に戻すことができると読みました。プロジェクトの master ブランチからコミットをチェリーピックしようとしましたが、やりたくないことに気づきませんでした。残念ながら、私はすでにプッシュしてしまいました。

私が恐れているのは、git revert を使用すると、PR がマージされたときに master のコミットも元に戻すかどうかわからないことです。

マージ後に master ブランチを台無しにせずにチェリーピックを元に戻すにはどうすればよいですか?

これは重複することを意図したものではありません。プルリクエストブランチで元に戻したいだけで、マスターでは元に戻したくありません。

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

git - あるブランチの作成者が別のブランチで欠落しているすべてのコミットをチェリーピックする良い方法は何ですか

master に多くの変更を加えたとします。しかし、branch:release-5 にないすべてのものをそれにチェリーピックしたいと思います。

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

git - 2 つの任意のコミット間の変更のみをブランチにコミットする方法は?

間違ったブランチで開発を行ったという問題があり、変更を取得/チェリーピックして、別のブランチに配置/リベースしたいと考えています。変更されたテキスト行のみを取得したいだけで、それ以上は何もありません!

ここに私の問題を説明する例があります:

各コミット (C1、...、C4) には、次の内容のテキスト ファイルが含まれています。

コミット C2 と C3 の間の変更をコミット C4 に入れたいと思います。これは、変更された行 (C) を取得してコミット C4 に配置することを意味します。新しいコミット C5 のテキスト ファイルは次のようになります。

マスターブランチに入力すると

競合が発生し、メルドが開き、次のビューが表示されます。

これは私が望むものではありません。C2 と C3 の違いだけを確認したい。したがって、マージがはるかに簡単な次のようになります。

これは Git で可能ですか、またはこのワークフローをサポートするマージ ツールはありますか? それは物事をとても簡単にします。

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

git - 元に戻された後にコミットをチェリーピックする方法は?

私は自分で作業していてfeature branch、レビューの後、それをマージしてdevelopment展開しました。その後、同僚がリリースを行うことに決め、彼と私のものを にマージしましたmaster。展開中に、彼は自分のコードにバグがあり、元に戻されていることに気付きましたmaster

フォーク アンド プル フローでは、これは nowdevelopmentmasterの両方が元に戻されることを意味します。

私が今朝来たとき、私はいつものように開発からリベースし、後でリバートがあったことを知りました.

今、私cherry-pickはオリジナルから作業しようとしてfeature branchいますが、元に戻したために「空のコミットメッセージ」が表示されることに気付きました。

  1. これは、revert が以前のコミットのミラー イメージであるためですか?
  2. 元に戻す方法はありますか?(頭が痛くなる)
  3. リベースした今、コミットを差分に表示する方法はありますか

どんな助けでも大歓迎です。

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

git - ネストされたリポジトリから追跡されていないファイルを更新するように git cherry-picks を強制する

私は現在、クローズソーシングのために最近分割されたリポジトリで作業しています-モジュールは「メイン」リポジトリから離れた独自のリポジトリに移動されました。

ただし、module1リポジトリがまだ の一部であったこの分割の前にコミットされた作業がまだありますpanel。私の問題は、この分割の前後のコミットで作業しています。現在、両方のリポジトリが の一部であったときに作成されたコミットであるとのcherry-pick両方のファイルに変更を加えてコミットしようとしています。(ディレクトリ構造は変更されていません。リポジトリの のビューのみ)panelmodule1panelgit

メインリポジトリのディレクトリでチェリーピックすると:

リポジトリ内のファイルを削除したり、メイン リポジトリに追加したりするつもりはないことがわかります。これは、分離を元に戻し、リポジトリを結合するだけだからですcherry-pick。 2 つをマージせずにベース リポジトリと子リポジトリを作成します。では、別のネストされたリポジトリ内のファイルがメイン リポジトリの一部であるように git を強制的に動作させ、リポジトリが分離される前からコミットをチェリー ピッキングできるようにする方法はありますか?

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

git - git でブランチを部分的にマージする方法

私のプロジェクトには 2 つのブランチがあります。

ブランチを部分的にマージするにはどうすればよいですか? コミットをマスターにマージするとしましょうbcda2 - bcda4(コミット bcda1 をマージする必要はありません)。その後、コミットbcda5-7をマスターにマージしますか?

git-cherry-pick の使用方法は知っていますが、新しいコミットが作成され、将来的にブランチをマージする際に混乱が生じるため、使用したくありません。現在のコミット ID を保持し、ブランチを部分的にマージしたいと思います。

使ってみた

行を削除pick bcda5 - pick bcda7したため、ブランチはマージされましたが、コミットはbcda5-bcda7完全に削除されました。

それを正しく行う方法についてアドバイスしていただけますか?

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

git - チェリーピックしたのに変更をプッシュできないのはなぜですか

rebase/cherry-pick を使用して、最後の 2 つのコミットを削除しようとしています。呼び出した後git rebase HEAD^^^ -i、必要なコミットのみを残します (すべてを に任せるHEAD^^ので、 and を削除HEAD^HEADます)。

その後、git push次のように表示されます。

しかし、git pull前の HEAD コミットを早送りするだけです。だから、私は私が始めたもので終わっています。私は何を間違っていますか?

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

git - git リポジトリの特定のディレクトリを更新するには?

私は 2 つのリポジトリを持っています。1 つは少し古くなっていますが、開発中に両方を使用しています。(そうするのには歴史的な理由がありますが、それは問題ではありません。)

プロジェクトのほとんど独立した部分である小さなアプリケーションであるサブディレクトリがあります。新しいリポジトリからこのツールのディレクトリのみを更新したいと思います。実際には、両方のレポの上部にあるこのアプリケーションの同じバージョンが必要です。

アプリケーション関連のコミットのみを他のリポジトリに移動する方法はありますか?

コミットは「直線」ではありません。大量のコミットがあり、そのうちのいくつかはこのアプリケーションのパッチでした。

多分どうにかしてチェリーピックで?

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

git - gitで親の数が異なる複数のコミットをリベース(チェリーピック)する方法は?

いくつかのコミットをマスター ブランチから別の孤立したブランチにリベースしたいと考えています。リポジトリの履歴は非常に厄介で、マスター ブランチには 1 つまたは 2 つの親とのコミットがあります。

私がリベースを行おうとgit rebase --onto orphan commit1 commit2するcommit1commit2:

cherry-pick: を実行しようとするとgit cherry-pick commit1..commit2、エラーが発生します:

またはそうでなければ: git cherry-pick -m1 commit1..commit2- 私は得る:

私の目標を達成する簡単な方法はありますか?

0 投票する
3 に答える
56917 参照

git - SourceTree で git cherry-pick --continue を実行するには?

競合を解決した後、SourceTree を使用してチェリー ピッキングを続行するにはどうすればよいですか?

リベースを行っているときに競合が発生した場合は、コミットをクリックして競合を解決した後、SourceTree でそのリベースを続行できます。しかし、どのようにチェリーピック操作を継続するのでしょうか?