64

svn switchMercurial ではどうすればよいですか?

つまり、作業ディレクトリを変更して、リポジトリ内の別のブランチに切り替えますか?

4

5 に答える 5

65
hg update -r<REV>

updateコマンドは、指定されたリビジョンに切り替えます。

于 2009-07-20T21:51:58.897 に答える
33

switch コマンドは、Subversion で 2 つのことを行います。

  1. 作業コピーを更新して、リポジトリ内の新しい URL をミラーリングします。この動作は ' ' に似ておりsvn update、作業コピーを同じリポジトリ内のブランチまたはタグに移動する方法です。

  2. 構文の変更のみを反映するように、作業コピーの URL メタデータを書き換えます。これは、リポジトリのルート URL が変更された (スキームやホスト名の変更など) が、作業コピーが同じリポジトリ内の同じディレクトリを反映している場合に使用されます。

このコマンドは、たとえばSubversionからhg update fooに切り替えると、前者に最もよく一致します。/trunk/branches/foo

後者を行いたい場合は、単に編集します.hg/hgrc[paths]次のようなセクションがあります。

[パス]
デフォルト = http://example.net/something

このデフォルトのプッシュ/プル URL は、必要に応じて別の URL に変更できます。他の場所から頻繁にプッシュ/プルする必要がある場合は、このセクションに他のエントリを追加することもできます。ある場所からプルしたいが、別の場所にプッシュしたい場合は、default-pushエントリを追加します。

于 2009-07-22T09:07:34.117 に答える
24

ブランチを切り替えたい場合は、次の手順を実行します。

最初に利用可能なブランチを確認し、 と入力しhg branchesます。これにより、利用可能なすべてのブランチが一覧表示されます。

次に、現在作業しているブランチを特定するには、 と入力しhg branchます。これにより、現在のブランチが何であるかがわかります。

最後に、ブランチを切り替える (そしてすべてのローカル変更を消去する) には、 と入力しhg update -C name-of-branchます。これにより、指定したブランチ名に切り替わります。

もう一度入力して確認しますhg branch

于 2011-09-12T09:17:31.403 に答える
1

リモート ブランチ 'tip' に切り替えるには:

hg pull -u <remote_branch>

ローカルブランチ(すでに最新)の場合:

hg update -r <local_branch>
于 2016-10-24T11:24:48.703 に答える
0

「ブランチ」が「ネット上の任意の場所にあるレポの別のクローン」を意味する場合の代替回答:できません。

言い換えれば、hg.a.com にレポがあり、そのレポ hg.b.com のクローンがある場合、次のようなコマンドはありません。

hg switch hg.b.com .

(現在のディレクトリが hg.a.com のクローンのルートであると仮定して、そこで svn 用語を使用します)。

ただし、hg.a.com のクローンを作成し、そのクローンをローカルにクローンして (比較的安価なはずです)、hg.​​b.com からプルして、そこに存在する可能性のある追加の変更を取得することができます。

于 2011-07-07T22:21:45.657 に答える