回答:
とても簡単です:
magit-statusb bチェリーピックしたいブランチをチェックアウトします(を押します)。l r l)を実行して、チェリーピックしたいコミットを見つけます。ここで、比較する2つのブランチを選択します。Aて変更を適用し、コミットメッセージで一緒にステージングします。を押すaと、変更はステージングされず、変更のみが適用されます。チェリーピックにログ範囲を設定する必要はありません。コミットログが表示されたら、いつでもを押しAて選択できます。
magitを2.1にアップグレードした後、ワークフローは異なります。どちらの方法でも、最初に起動する必要がありますmagit-status。
方法A:チェリーピックは別のブランチから1つずつ変更します
lてoから、他のブランチのリストを取得します。Aが続きA、再び。ステータス行には、選択したコミットが表示されます
例えば feature/ABC~4
を押しEnterて変更を適用します。
方法B:チェリー別のブランチからすべての変更を選択
Aてチェリーピックモードを選択します。Aもう一度押して、変更を適用してコミットします。を押しaて変更のみを適用します。Enterます。マージの競合をより適切に処理できるため、個人的には方法Aを好みます。
私はチェリーピッキングを使用しませんが?、magit-statusショーでヒットしますy: Cherry。これによりコマンドが実行され、magit-cherryヘッドとアップストリームを選択できます。これはあなたが望むもののようです。
入力C-h r d m Magit RETしてMagitマニュアルを読むことができます。を使用C-s cherryして繰り返しヒットするとC-s、マニュアルを検索できます。情報はセクション23にあるように見えます:
快適さの1つは、
gitどのコミットがアップストリームにマージされたが、ローカルではなく、その逆であるかを通知できることです。このためのGitのサブコマンドはcherry(と混同しないでくださいcherry-pick)です。Magitはこれをサポートしており、デフォルトでmagit-cherryバインドさyれています。Magitは、比較で使用するアップストリームリビジョン(現在追跡されているリモートブランチがある場合はデフォルト)およびヘッドリビジョン(デフォルトは現在のブランチ)を最初に尋ねます。次に、すべてのコミットが方向マーカー、リビジョン、およびコミットメッセージの最初の行とともに一覧表示される新しいバッファーが表示されます。方向マーカーは
+、上流-には存在するが先頭には存在しないコミットを示しているか、上流には存在しないが先頭に存在するコミットを示しています。このリストから、個々のコミット
aをチェリーピッキングするために通常のキーバインドを使用できます(コミットせずにチェリーピッキングする場合とA、同じプラス自動コミットを使用する場合)。チェリーピックごとにバッファが自動的に更新されます。
C-h i最後に開いた情報ファイルに移動するので、を押すと、C-h i mすべてのメニューではなく、SICPの章のメニューを見ている可能性があります。打っdた後、C-h iまたはC-h rあなたが打つ前にしたときにインフォディレクトリになることを保証しますm。
M-x package-install RET sicp RET:)
C-h i代わりに行うことでキーストロークを保存できますC-h r d。これにより、Infoのトップレベルに直接移動できます。