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

git - Gitコミット範囲の「A..B」(ダブルドット)と「--right-only A...B」(フィルタリングされたトリプルドット)?

比較Git コミット範囲のダブルドット ".." とトリプルドット "..." の違いは何ですか? 、より頻繁に役立つ質問です。

以下が と同じ一連のコミットを生成するかどうかを明確にしたいと思いますgit log A..B

それらは、同じことを達成するためのより回りくどい方法のように思われます。

最初の動機は、これらのコマンドの意味をより深く理解することでした。これには、すでにチェリーピックされたコミットを無視することが含まれます。

この質問の拡張は、この種の「一方的な」チェリーピック除去を行うために、対称差 (つまり、トリプル ドット) が必要な理由を尋ねることです。たとえば、チェリー ピックの修正を含む、B での一意のコミットを見つけるには、次のような簡単なことはできないはずです。

それは、すべての A コミットA..B. (つまり、この架空のコマンドでは、git は、チェリー ピッキング ロジックを適用しようとする前に、A に関連するものをすべて破棄します。)

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

git - パッチを共有せずに git でパッチが適用されたワークスペースを管理する

私はSVNでgitを使用しており、dcommit経由でプッシュしたくないというコミットがありますが、ローカル開発を行う必要があります。

私が今やっている方法は、

作業ブランチでは、git-svn タグの後のコミットには、mypatchその後を含むコミットがあり、変更セットに対して実際に行う作業です。

気になったのは、ブランチ上で????2回目のコミットとして指定できるかどうかです。そうすれば、ログを調べて自分でリビジョンを見つける必要がなくなります。git-svnwork

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

git - Git チェリーピックと競合

2 つの異なる git ブランチがあります。1 つでは、開発は (Branch1) で行われます。

他のブランチでは、いくつかの PoC 作業が進行中です (Branch2)。ここで、Branch1 から Branch2 への変更をチェリー ピックして、Branch2 を最新の状態にします。

現在、4 つまたは 5 つの変更をチェリー ピックした後、マージの競合が発生し、それ以上チェリー ピックを続行できません。

次のチェリーピックに進む前にすべての競合を解決する必要がありますか、または、すべての変更をチェリーピックする (そしてすべての競合を一緒に解決する) まで競合の解決を延期できますか?

さらに、この場合、チェリーピックまたはブランチマージを行うことをお勧めしますか?

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

git - Git:マージコミットを発生させずにアップストリームの変更をマージする方法は?

I have (コミットはアルファベット順に作成されました)

topicブランチを次のように見せる方法はありますか

マージコミットを導入せずに?


通常、私はただするだろう

しかし、Yとは と の後にZコミットされたため、早送りは機能しません。WX

巧妙なリベースまたはチェリー ピッキングが機能する可能性があると思われますが、頭を包むことはできません :{

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

git - git-cherryで「チェリー」とはどういう意味ですか?

git-cherry のチェリーという言葉の意味は何ですか?


果物のほかに、チェリー ピッキング式 ( git-cherry-pick を使用して git にも存在する) の単語にしか見えませんでした。これは、何かを選択的に選択することを意味します (右?)。

私には、チェリーインgit-cherryが果物にもチェリーピックにも関係していないように見えます.

私はブラジル人なので、英語の微妙なところがはっきりしないことがあります。

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

git - チェリーピックによって生成された Git の競合

はじめに、私は git を初めて使用しますが、ドキュメントや、 thisthisなどのトピックに関する同様の問題を食い尽くしています(この後者の質問については、記事の後半で参照します)。

概要:あるブランチから別のブランチへのコミットをチェリー ピッキングしていました。あるブランチでコミットを行った後、それらをマージしようとすると、競合が発生しました。何が起こっていると思うかについては、以下の私の回答を参照してください。

シナリオ: 2 つのファイルがあり、1 つは "master" ブランチにあり、もう 1 つは "secondary" ブランチにあります。"secondary" ブランチには、master に含めたくないファイルがいくつか含まれており、少数の人しか使用していませんが、"master" と "secondary" の両方にあるほとんどのファイルは一貫している必要があります (master のすべてはただし、セカンダリのすべてがマスターにあるわけではありません)。これを達成するために、「マスター」で行われた変更をコミットしgit checkout secondary、「セカンダリ」ブランチをチェックアウトしてから実行していgit merge masterます。残念なことに、私は一度対立を引き起こしました。そして今、私の脳は対立が何であるかを理解しようとして急いでいます.

試みられた解決策:最初は、私が持っていた「セカンダリ」と「マスター」の両方でファイルを変更したためだと思いました。これを解決するためgit cherry-pick [commit]に、セカンダリ ブランチで行った変更をマスター ブランチにプルしていました。ただし、マスター ブランチをセカンダリ ブランチにマージすることはできませんでした。Git は、git add/rm(おそらくgit addまたはgit rm、理解するのに少し時間がかかりました) を使用して、必要なものをマークすることを提案しました。そこで、 git rm コマンドを使用して、「セカンダリ」のインデックスと作業ツリーのバージョンを削除しました。この後、「マスター」ブランチに戻り、マージしたいファイルを「セカンダリ」に再コミットし、「セカンダリ」に戻ってから、git merge master再度実行しました。残念なことに、対立します。

質問:率直に言って、何が起こっているのかわかりません。git merge master(セカンダリ ブランチで実行すると) git master commit で行われたすべての変更が取得され、それらの変更がセカンダリ ブランチに配置されると思いました。それが起こっているのなら、私は問題を理解していません。セカンダリからファイルを削除し、変更をマスターにコミットしました。なぜマージできないのですか?先に言及した後者の質問に対する解決策は、共通の祖先に何か他のものが含まれているためである可能性があることを示唆していますが、私はそれをgit cherry-pick [commit]処理しただろうと思いました. 問題は、cherry-pickが新しいマージ ベースを作成しないため、問題のファイルが の後は同じであったとしても、マージ ベースとはcherry-pick異なる可能性があるということですか?

この質問の長さをお詫び申し上げます。理解しようと一生懸命努力しており、円を描いているように感じます。どんなアドバイスも素晴らしいでしょう。

編集:なぜgitがブランチを変更してこの問題を解決しようとしないのか理解できないので、私も混乱していると思います。今試しgit checkout secondaryてみると、おそらくcherry-pickコミットがセカンダリに変更され、error: you need to resolve your current index first. gitがこの動作を許可しない理由があるに違いないと思いますが、それが何であるかわかりません。

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

git - 複数のコミットのチェリー ピッキング

メインブランチにはメッシュアップされた 33 個のコミットがあります。これからはきちんと記録を残す必要があります。これで、機能ブランチを作成し、これらの 33 個のコミットをさまざまな機能ブランチに分類しようとしています。一度に複数のコミットを選択して、関連する機能ブランチにコピーすることは可能ですか? また、cherry-pick コマンドで複数のコミットを試みたときにも、競合に直面しています。

ここで、A、B、C はコミットのハッシュコードです。

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

git - git プルリクエストからコミットを削除

私はオープンソースへの貢献の初心者なので、これは私の最初の試みの 1 つです。

というライブラリ(gem)を開発しましたvalidateshttps://github.com/kaize/validates/

私は2つのブランチを作成しましたgit checkout -b branch_name:

https://github.com/kaize/validates/pull/20 と https://github.com/kaize/validates/pull/19 を作成してコミットしますが、ip-validator プル リクエストにコミットBlank validator 399cdd7

このプル リクエストから削除するには (そして空白のバリデータ ブランチに配置するには)、どうすればよいですか?

みんな、世界をより良くするために私を助けてください!

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

git - git merge --no-commit vs git cherry-pick --no-commit

と の間に違いはgit merge --no-commitありgit cherry-pick --no-commitますか?

これら 2 つのコマンドの後にコミットすると、履歴に違いはありますか?