Next: , Previous: , Up: バージョンコントロールのブランチ   [Contents][Index]


30.1.11.2 ブランチへ/からの変更のpull/push

C-x v P

分散型のバージョンコントロールシステムでは、カレントブランチでローカルにコミットされた変更で他のレポジトリを更新します(変更のpushとも呼ばれる)。この概念は集中型のバージョンコントロールシステムには存在しません。

C-x v +

分散型のバージョンコントロールシステムでは他のレポジトリから変更をpullすることにより、ローカルレポジトリのカレントブランチを更新します。

集中型のバージョンコントロールシステムでは、そのレポジトリからカレントVCファイルセットを更新します。

分散型のバージョンコントロールシステムでは、コマンドC-x v P (vc-push)は、カレントブランチでローカルにコミットされた変更により他のロケーション(一般的にはアップストリームのレポジトリ(upstream repository)と呼ばれる)を更新します。プレフィクス引数を与えた場合、このコマンドは実行する正確なバージョンコントロールコマンドの入力をもとめます。これにより変更をどこにpushするか指定できます。デフォルトは、Bazaarではbzr push、Gitではgit push、Mercurialではhg pushです。デフォルトのコマンドは常に、ブランチ設定からバージョンコントロールシステムにより決定されるデフォルトのロケーションのレポジトリにpushします。

pullする前にC-x v O (vc-log-outgoing)を使用して、アップストリーム送信される変更のlogバッファーを閲覧できます。VC Change Logを参照してください。

現在のところ、このコマンドはBazaar、Git、Mercurialだけでサポートされます。“push”という概念は集中型のバージョンコントロールシステムには存在しません。なぜなら、この操作は変更セットのコミットの一部なので、集中型のVCSでこのコマンドを呼び出すと、エラーをシグナルします。Bazaarのbound branchでこのコマンドを試みたときもエラーをシグナルします。変更セットのコミットは、自動的に変更を(ローカルのブランチがバインドされている)リモートのレポジトリにpushするからです。

分散型のバージョンコントロールシステムでは、コマンドC-x v + (vc-pull)はアップストリームのレポジトリに施された変更によって、ローカルレポジトリのカレントブランチと作業ツリーを更新します。これは通常だとリモートブランチのコピー(cloneとも呼ばれる)を更新するために使用されます。プレフィクス引数を与えた場合には、このコマンドは使用する正確なバージョンコントロールコマンドの入力をもとめます。これによりどこから変更をpullするか指定することが可能になります。プレフィクス引数を指定しなければ、ブランチの構成からバージョンコントロールシステムにより決定されるデフォルトロケーションのレポジトリからpullすることになります。

分散型のバージョンコントロールシステムの中で、現在C-x v +がサポートするのはBazaar、Git、Mercurialだけです。Bazaarでは、これは通常のブランチにたいしては、(マスターブランチをミラーリングされたブランチにpullするために) bzr pullを呼び出し、バインドされたブランチにたいしては、(中心となるレポジトリからpullするために) bzr updateを呼び出します。Gitでは、これはリモートのレポジトリから変更を取得して、それをカレントブランチにマージするためにgit pullを呼び出します。Mercurialでは、デフォルトのリモートレポジトリから変更を取得して、作業ディレクトリーを更新するためにhg pull -uを呼び出します。

pullする前にC-x v I (vc-log-incoming)を使用して、適用される変更のlogバッファーを閲覧できます。VC Change Logを参照してください。

CVSのような集中型のバージョンコントロールシステムでは、C-x v +はレポジトリからカレントVCファイルセットを更新します。

This page has generated for branch:emacs-30, commit:ab5505a8acf795c0a0a2745dd6fb666954c6a4bb to check Japanese translation.