2

アプリを新しいリモート サーバーにすばやくデプロイするために、ブランチをローカル ディレクトリにエクスポートして圧縮し、新しいサーバーで解凍しました。

ここで、エクスポートされたコピー (リポジトリ内のブランチの正確なレプリカ) を作業コピーに変換します。これは可能ですか?

4

2 に答える 2

0

私の場合、次のワークフローを使用します。

  1. リポジトリから特定のリビジョンをエクスポートして、Webサーバーにアップロードします。だから私はライブバージョンを持っています。
  2. リビジョンをエクスポートしたときに、このバージョンが現在公開されていることを示すタグを作成します(たとえば、アップロードの日付はlive_from_xxyyzzどこですか)xxyyzz
  3. 変更を加える必要がある場合は、ローカルで変更し、チェックインしてから、新しいエクスポートを実行します(つまり、手順1に進みます)。

そうすることで、信頼できるタグがあるため、エクスポートされたバージョンを作業コピーに戻す必要はまったくありません。

一方、ライブバージョン(リモートサーバー上のバージョン)を取得して、作業ディレクトリにコピーするだけです。何かが違う場合は、それに気付くでしょう(ファイルの欠落や新しいファイルも同様です)。

編集:

エクスポートされたバージョンが作業コピーになる場合、svnの使用に少し問題があります。svn(現在).svnには、チェックアウトされた作業コピーのフォルダーが必要です。これらの.svnフォルダーには、バージョン情報が保持されます。エクスポートされたバージョン全体をバージョン管理下に置くには、これらのフォルダーを作成(および入力)する必要があります(つまり、実際の作業コピーからエクスポートされたバージョンにコピーします)。

Subversion 1.7以降、一元化されたメタデータストレージがあります。これは、すべてのバージョン管理関連ファイルが作業コピーごとに1つのフォルダーに保存されることを意味します(たとえば、Gitのように)。これで問題の解決が簡単になりますが、今のところ、.svn上記のように作業コピーからフォルダーをコピーする以外に方法はありません(もちろん、実際にブランチをチェックアウトすることを除いて)。

于 2011-01-02T10:18:47.247 に答える
0

エクスポートが単にブランチのコピーである場合、ブランチからチェックアウトしないのはなぜですか?

もちろん、すべての Subversion メタ ファイルが存在する限り、プロジェクトをリポジトリに接続し直すことができることに気付きました。サーバーに Subversion クライアントがあり、コマンド ラインで作業することを恐れない場合は、おそらく "svn status" を試して、リポジトリに接続できるかどうかを確認できます。

于 2011-01-02T07:09:53.710 に答える