0

次の設定を実現したいと思います。

AtWork:MercurialRepo <->インターネット:MercurialRepo <-> AtHome:MercurialRepo

問題は、リポジトリがいくつかのギグであるということです。私はすでに家にレポ全体を持っています(バンドリング-> cdrom->アンバンドリングを通して)。問題は、リポジトリ全体をインターネットに保存したくないということです。インターネットを介して作業しているリポジトリのサブセットのみをプッシュ/プルするために、フォルダーをバージョン管理から一時的に除外する方法はありますか?どうすれば自分の目標を最もよく達成できますか?時々、面倒なバンドリング-> cdrom->アンバンドリングルートを実行して、他のすべてを更新する必要がありますが、一般的にはインターネットルートを使用し、リポジトリ全体をそこに保存したくありません。

4

4 に答える 4

0

インターネットを介して作業しているリポジトリのサブセットのみをプッシュ/プルするために、フォルダーをバージョン管理から一時的に除外する方法はありますか?

フォルダではなく、リポジトリの一部-はい

(一部のブランチのみpush -b)またはpush -r(祖先による改訂:最新の作業では-rチップになります)が、転送の最終的なサイズはDAGのタイプに大きく依存します-クロスブランチが多い場合マージは、おそらくチェンジセットのごく一部のみをスキップします

于 2012-11-03T01:27:13.427 に答える
0

私はあなたが尋ねたものとは少し違う小さな考えを持っています、しかし...私が同じ問題を抱えているなら、私はリポジトリ全体としてusbフラッシュを使うことになるでしょう(あなたが約10または20ギガならそれは安いはずです)。したがって、職場では、リポジトリ全体をコピーするか、USBに複製し、自宅で新しい変更をプルできます。自宅での作業が完了したら、フラッシュ上のリポジトリにプッシュしてから、職場のリポジトリにプルします(一時的なコミットも使用します)作業ディレクトリに戻して削除した元に戻された作業の場合は、終了したところから続行できます)。

しかし、間違いなく最も簡単な方法は、職場のサーバーまたは職場のマシンに接続してみることです。または、インターネットでリポジトリ用のより大きなスペースを取得します。だから、ちょうど別のアイデア。HTH

于 2012-11-03T20:34:28.203 に答える
0

本当に可能ではありません。最も近いのは、サブリポジトリを使用することです。これにより、ネット上に大きなリポジトリの一部のみを効果的に配置できます。

于 2012-11-03T23:47:03.327 に答える
0

したがって、これまでにわかったように、リポジトリから一部のファイルを選択的に複製することはできません。あなたができる最善のことは、すべてのブランチのサブセットを複製することです。ただし、リポジトリ内のすべてのファイルについて、これらのブランチの過去の履歴全体を取得できます。したがって、多くの大きなファイルが一部のブランチでのみ認識され、他のブランチでは認識されない限り、これは役に立ちません。

問題は(長くてかさばる履歴ではなく)ファイルのサイズが大きいことであるため、おそらくそれを管理可能なサイズのいくつかの「サブリポジトリ」に分割する必要があります。クローン作成に関心のあるサブセットはサブリポジトリである必要があることに注意してください。メインリポジトリのクローン作成には、必然的にサブリポジトリが含まれます。Mercurialサブリポジトリのドキュメントでは、些細な(「薄いシェル」)メインリポジトリを作成し、すべてのプロジェクトコードをサブリポジトリに配置することを推奨しています。

サブリポジトリは複雑なソリューションであり、Mercurialチームによって「最後の手段の機能」と見なされます。これは複雑な設定であり、さまざまな制限があり(ドキュメントを参照)、ファイル履歴を保持する方法でリポジトリを変換しようとすると、さらに複雑になります。したがって、これを回避する方法を検討する価値があります。

a)レポの真ん中のコピーを避けることができれば最高です。自宅のリポジトリが職場のリポジトリと直接通信できるように、sshアクセスまたはプロキシを設定する方法はありませんか?(またはその逆。一方の場所がもう一方の場所に接続できれば十分です)。

b)@vaclavの回答が示唆しているように、レポをUSBスティックで運ぶことができます。

c)または、弾丸を噛んでインターネット上のレポ全体のクローンを作成する必要があるかもしれません。

于 2012-11-04T22:23:32.453 に答える