単一のリビジョンを、このワーキングツリーでチェックアウトされているブランチにコピーします。
あるブランチのリビジョンを別のブランチにコピーすることが有用な場合があります。これは、別のブランチにある既存のリビジョンと同じ変更内容、ログメッセージ、および作成者情報を持つ新しいリビジョンを作成することを意味します。この操作は、あるブランチから別のブランチへリビジョンをチェリーピックするとしばしば呼ばれます。
最も一般的なケースは、マージされないブランチ(ブランチのマージを参照)から現在のブランチへリビジョンをコピーすることです。例えば、プロジェクトにバグ修正のみを受け付けるフィーチャーフリーズブランチがあるとします。誰か(おそらくあなた自身)がメインの開発ブランチでバグを修正します。すると、そのリビジョンをフィーチャーフリーズブランチにチェリーピックして、そこでもバグを修正できます。これをリビジョンのバックポート、あるいは修正のバックポートと呼びます。
M-x vc-cherry-pick コマンドを使用してリビジョンをチェリーピックできます。このコマンドを実行すると、チェリーピックするリビジョンの入力が求められます。その後、新しいリビジョンのログメッセージを編集するためのバッファが表示されます。通常、VCバックエンドは、コピーの履歴を追跡できるよう、コピー対象のリビジョンへの参照を含むログメッセージを生成します。必要に応じて、この参照を削除してから C-c C-c と入力してチェリーピックを完了させることができます。
あるいは、プレフィックス引数(例:C-u M-x vc-cherry-pick)を指定してコマンドを実行することもできます。この場合、ソースリビジョンのログメッセージがそのまま使用され、ログメッセージ編集用のバッファを表示することなく、即座にチェリーピックが行われます。
この機能を利用する別の方法として、ログビューモードのバッファで C にバインドされている log-view-cherry-pick コマンドがあります(VC Change Log を参照)。M-x vc-cherry-pick
を直接使用する場合に比べ、意図したリビジョンを確実にチェリーピックしやすくなります。