問題タブ [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.
git - 「OR」句を含むgit-log-または-git-log出力をマージする方法は?
私は現在、OSSプロジェクトのトランクからフォークに機能を選択しようとしています。どちらのリポジトリもgitを使用しており、トランクをブランチとしてフォークにインポートしているので、作業が簡単になります。
私が取っているアプローチは、1つのブランチから別のブランチに関連するすべてのコミットを選択しようとすることです。これは、単純なマージを行うことは不可能であるためです。分岐したものが多すぎます。
コミットのリストを生成するために、私はgit-log
実行する2つのコマンドを特定しました。
これは、project-trunk
ブランチに「Foo」という単語が含まれているファイルのログを提供することを目的としています。これはかなり良い出発点ですが、関連する他のコミットがあることがわかりました。幸いなことに、それらは通常、コミットログに識別作業があります。だから私が使用しているこれらを見つけるために:
project-trunk
これにより、作業「バー」を含む ブランチのログが得られます。
問題は、これら両方のコマンドの和集合を時系列で含むマスターリストが本当に必要なことです。マニュアルを読みましたgit rev-list
が、やりたいことがわかりません。
このように2つの別々の条件を結合することは可能ですか?git-log
そうでない場合は、2つのコマンドの出力を時系列で結合する簡単な方法はありますか?
svn - git-svn によるチェリーピッキング
あるトピックブランチから別のトピックブランチにリビジョンのサブセットをマージするという問題に直面しています。私は git-svn を使用しているので、これにチェリーピッキングを使用できるかどうかを知りたいと思っていました。Subversion を使用すると、次のようになります。
これをやろうとするとどうなりますか?
git svn のマンページを読んだ場合、答えは「それをしないでください」ですが、その git svn をグーグルで検索すると、この種の問題ではるかに優れた仕事をするという印象を受けます。
git - 誰かが私の git コミットから適当に選んで自分のコミットを作成した場合、どうすればマージできますか?
私が誰かの git リポジトリをフォークして、A、B、C、および D をコミットしたとします。私がフォークした人は、A と C をチェリーピックします。したがって、A' と C' になります。また、X、Y、Z のコミットを自分で作成します。結局のところ、私のブランチには ABCD があり、彼のブランチには A' C' XY Z があります。両方のブランチが公開されていると仮定すると、リベースは魅力的なオプションではありません。また、XYZ が ABC D のいずれとも競合しないと仮定します。これら 2 つのブランチを便利な方法でマージするにはどうすればよいですか? 単純にマージしてから、すべてを手動で解決する必要がありますか? マージされたヘッドのログに重複するコミット メッセージについてできることはありますか? これらの 2 つのブランチは、今後、互いのコミットをチェリー ピックすることによってのみ同期する運命にありますか?
php - テキストのページからオーストラリアの住所を選択する
住所に似ている可能性のあるものについて、散文の段落を解析しようとしています。私は照合するアドレスのデータベースを持っていますが、これらは私が興味を持っている唯一のアドレスです。私はランプ サーバーを使用していますが、テクノロジ固有の回答は現在必要なものではありません。どうやって?
誰でもアイデアを提供できますか?おそらく正規表現?または、おそらく都市/州などのデータベースを使用する必要がありますか?
ありがとう。
git - GitHub: ファイルを別のリポジトリに持ち込む
現在のプロジェクトのローカル クローンに取り込まれたオンライン リポジトリから特定のファイルが必要です。また、現在のプロジェクトの特定のディレクトリにあるファイルも必要です。最も簡単な方法 (クローンからファイルをコピーする) には行きたくありません。ファイルをオンライン リポジトリから更新可能にして、そのファイルを現在のプロジェクトのオンライン リポジトリにプッシュしたいのです。
ありがとう、DZ
git - 別の git リポジトリからコミットを選択することは可能ですか?
最初のことを何も知らない別のgitリポジトリからのコミットが必要なgitリポジトリで作業しています。
通常、私はHEAD@{x}
reflog で を使用してチェリー ピックしますが、これ.git
はこの reflog エントリ (別の物理ディレクトリ) を何も知らないため、どうすればこれをチェリー ピックできますか?
を使用してgit-svn
います。私の最初のブランチはSubversion リポジトリを使用git-svn
しtrunk
ており、次のブランチはgit-svn
Subversion ブランチを使用しています。
git - git cherry-pick と git show | の違いは何ですか? パッチ -p1?
git cherry-pick X
いくつかの競合が発生する状況に遭遇しましたが、余分な挿入も作成しました (で確認した場合git diff
)。
次に、 を再実行git show X > my.patch
しpatch -p1 < my.patch
、ツリーで実行しました。より良い結果が得られ、いくつかの競合がありましたが、よりクリーンな結果が得られました。
git はチェリーピックで何が特別なのですか? 私はgit 1.7.0.4を使用しています。
編集:git show X
よりクリーンな結果とは、結果のツリーがより多くのコードを含んでいるのに対し、
より多くの結果に一致したことを意味しgit cherry-pick
ます。
git - ある支店から別の支店へのチェリーピックの方法
私は2つのブランチを持っています、master
そしてdev
。
私はブランチにいて、1つのコミットをからにdev
チェリーピックしたいと思います。だから私はしましたmaster
dev
しかし、そうするとgit status
、gitの履歴gitx
にコミットが表示されません。be530cec7748e037c665bd5a585e6d9ce11bc8ad
dev
ブランチでコミットを確認するにはどうすればよいですか?
git - git-cherry は無秩序なマージでは機能しないようです
master からいくつかのコミットをマージするために git cherry-pick を使用してから、現在マージされているコミットを特定するために git-cherry を使用しようとしました。マスター上にある順序でマージしている間は問題なく動作しますが、コミットの 1 つをマージするのをスキップすると、次のマージが表示されません。以下の例:
問題は、コメント 2 がログにマージされているのにマージされていないと表示されるのはなぜですか?
git - 各コミットの日付に基づいて、2つのブランチを1つのブランチに結合するにはどうすればよいですか?
次のようなgitリポジトリがあるとしましょう。
簡単にするために、branchAでのコミットはfileAへの厳密な変更であり、branchBでのコミットはfileBへの厳密な変更であるとしましょう。
これらのブランチを3番目のブランチbranchABに結合したいと思います。ここで、コミットは日付順に並べられます。
単一のgitコマンドでこれを自動的に行う方法はありますか、それとも手動の方法(たとえば、チェリーピッキングやリベース-i)に固執していますか?
ところで、merge-base
タグです。