問題タブ [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.
git - Gitの別のブランチから変更を選択的にマージまたは選択するにはどうすればよいですか?
私はGitを、2つの並行する(ただし現在は実験的な)開発ブランチを持つ新しいプロジェクトで使用しています。
master
:既存のコードベースのインポートに加えて、私が一般的に確信しているいくつかの変更exp1
:実験ブランチ#1exp2
:実験ブランチ#2
exp1
そして、exp2
2つの非常に異なるアーキテクチャアプローチを表しています。さらに進むまで、どちらが機能するか(どちらかがあれば)を知る方法はありません。一方のブランチで進歩を遂げていると、もう一方のブランチで役立つ編集があり、それらだけをマージしたい場合があります。
他のすべてを残したまま、ある開発ブランチから別の開発ブランチへの選択的な変更をマージするための最良の方法は何ですか?
私が検討したアプローチ:
git merge --no-commit
続いて、ブランチ間で共通にしたくない多数の編集を手動でアンステージします。共通ファイルを一時ディレクトリに
git checkout
手動でコピーした後、他のブランチに移動し、さらに手動で一時ディレクトリから作業ツリーにコピーします。上記のバリエーション。今のところブランチを放棄し、
exp
実験のために2つの追加のローカルリポジトリを使用します。これにより、ファイルの手動コピーがはるかに簡単になります。
これらの3つのアプローチはすべて、面倒でエラーが発生しやすいようです。より良いアプローチがあることを願っています。git-merge
より選択的になるフィルターパスパラメーターに似たもの。
git - Gitとのコミットを部分的にチェリーピッキング
私は2つの異なるブランチに取り組んでいます:リリースと開発。
リリースブランチにコミットされたいくつかの変更を開発ブランチに統合する必要があることに気づきました。
問題は、すべてのコミットを必要とせず、特定のファイルの一部のハンクだけを必要とするため、単純なことです。
トリックをしません。
私がするとき
差分は表示されますが、現在の作業ツリーに部分的に適用する良い方法がわかりません。
git - コミットの範囲をチェリーピックして別のブランチにマージする方法は?
次のリポジトリ レイアウトがあります。
- マスター ブランチ (本番)
- 統合
- 働く
私が達成したいのは、作業ブランチからさまざまなコミットを厳選し、それを統合ブランチにマージすることです。私はgitにかなり慣れていないので、リポジトリを台無しにせずにこれを正確に行う方法(マージではなく、1回の操作でコミット範囲をチェリーピッキングする)を理解できません。これに関する指針や考えはありますか?ありがとう!
git - 1 つのブランチから 1 つのコミットをマスターにマージしますか?
gitブランチに関するこの本のセクションを読みました。
「実験的」というブランチを作成しました。そのブランチに切り替えて、そこで 2 つのコミットを行います。それで、実験の後のコミット (2 つのコミットのうちの 2 つ目) をマスター ブランチにマージすることが可能でしょうか?
ありがとうございました。
git - Gitのブランチ間でコミットを移動するにはどうすればよいですか?
これは簡単な質問と回答であると確信していますが、どの用語を検索すればよいかわかりません。私はこれを持っています:
ブランチでC、D、およびE(ローカルのみ)をコミットしたところ、DとEは本当にCから独立していることに気付きました。Cを独自のブランチに移動し、後で使用できるようにDとEを保持したいと思います。つまり、私はこれが欲しいです:
DとEの下からCをヤンクするにはどうすればよいですか?
git - ある支店から別の支店へのチェリーピックの方法
私は2つのブランチを持っています、master
そしてdev
。
私はブランチにいて、1つのコミットをからにdev
チェリーピックしたいと思います。だから私はしましたmaster
dev
しかし、そうするとgit status
、gitの履歴gitx
にコミットが表示されません。be530cec7748e037c665bd5a585e6d9ce11bc8ad
dev
ブランチでコミットを確認するにはどうすればよいですか?
git - 開発およびライブWebサイトのGit
私は開発WebサイトとライブWebサイトの両方にGitを使用しており、それぞれを独自のブランチ「dev」と「master」に保持しています。'dev'ブランチでのテストが終了したら、変更を'master'にマージしますが、'dev'ブランチ/サーバーだけに固有のファイルをいくつか保持する必要があります。
つまり、index.phpには、すべてのページの上部に「開発サーバー」メッセージが表示され、Google Analyticsの追跡はありません。このように、このメッセージを保持したいと思います。
また、マージするときに変更されるべきではないいくつかの構成ファイル。
私はチェリーピックを使用していますが、これは遅くてイライラします...これを行うためのより良い方法ですか?
git - 特定のコミットまでマージする
gitnewbranch
のブランチから名前を付けた新しいブランチを作成しました。master
今、私はいくつかの作業を行い、にマージnewbranch
したいと思いmaster
ます; ただし、にいくつかの追加の変更を加えたので、最後から4番目のコミットまでnewbranch
マージしたいと思います。newbranch
master
私は使用cherry-pick
しましたが、正しいオプションを使用するためのメッセージが表示されます。
代わりにgitを使用merge
してそれを行うことはできますか?
git - git cherry-pick は、「...38c74d はマージですが、-m オプションが指定されていません」と言います。
master ブランチにいくつかの変更を加えたので、それらをアップストリームに持ち込みたいと考えています。次のコミットをチェリーピックすると。ただし、gitが言うfd9f578で立ち往生します:
git が私に伝えようとしているのは何ですか?ここで使用するのはチェリーピックが正しいですか? master ブランチには、upstream ブランチで変更されたファイルへの変更が含まれているため、マージの競合が発生することは確かですが、それらは解決するほど悪くはありません。どこでどの変更が必要かを知っています。
これらは、私がアップストリームに持ち込みたいコミットです。
git - Gitでコミットをチェリーピッキングするとはどういう意味ですか?
最近、私はcherry-pick
コミットを求められました。
では、gitでコミットをチェリーピッキングするとはどういう意味ですか?どうしますか?