2

私は大学での研究の一環として主に小さなプロジェクトを行っており、SVNサーバーを使用しており、SourceForgeに関連してMercurialで遊んでいます。

ホームサーバーでMercurialまたは他の種類のバージョン管理を実行するのが理にかなっているのではないかと思います。私が職場で使用しているSVNサーバーは、大学のファイアウォールの背後にあり、建物のIT部門と私たちの部門のIT責任者の間で、サーバー上で新しいプロジェクトを開始し、私がいるときにコーディングするのは非常に面倒だと思います。家。自宅にDroboFS(NAS)があり、バージョン管理サーバーの実行に使用することを想像できます。これにより、サードパーティのサーバーにコードを配置しなくても、どこにいてもコードに簡単にアクセスできます。

プライベートプロジェクトをサポートするプロジェクトホスティングサイトでアカウントを取得する場合と比較して、このアプローチの長所と短所は何ですか?それは実行可能ですか?もしそうなら、それは重要なメンテナンスワークロードを意味しますか?

4

3 に答える 3

1

もちろん、githubなどのサーバーで開きたくないプロジェクトができたらすぐに実行する必要があります。

ほとんどの小規模なプライベートチームにはソースサーバーがありますが、ソースサーバーを持たない理由はありません。たとえば、gitoliteはインストールと使用が簡単です(Mercurialについてはわかりませんが、インストールが簡単なソリューションもあると思います。おそらくもっと簡単です)。

副作用として、svnよりも少し新しいものを使用できます。たとえば、自宅で使用してサーバーと同期できる分散型vcsを使用できます(mercurialとgitを使用する場合は、すべての操作にサーバーを使用する必要はありません。セットアップするだけです。ローカルリポジトリとサーバーに時々プッシュします)。

于 2012-06-12T13:46:22.953 に答える
1

長所は、サーバーを完全に制御できることです。

  • お気に召すままに設定できます
  • 他の誰もあなたのソース/プロジェクトにアクセスできません

短所はあなたが責任がある唯一の人であるということです:あなたはしなければなりません

  • 適切な設定を確認してください
  • メンテナンスを行う
  • アップグレードを実行する
  • 停電からの保護を確保する
  • 適切なセキュリティ対策を確保する
  • 定期的なバックアップを確保する
于 2012-06-12T13:51:21.377 に答える
1

開発を分散させた場合(地理的に異なるサイトにまたがるチームのため、または異なるサイトから開発したため)、DVCSは理にかなっています。

あるサイトでは、チームメンバーがgit / mercurialリポジトリファイルシステム(つまり、リポジトリの共有パス)にアクセスできる場合は、サーバーさえまったく必要ないことを忘れないでください。これらのDVCSは、ファイルシステムプロトコルアクセス(認証または承認なしではありますが)、別名ローカルプロトコルをサポートします。

BitBucketなどの外部サービス(GitまたはMercurialのパブリックプロジェクトとプライベートプロジェクトの両方をサポート)を使用して、サイト間でプロジェクトを共有することもできます。

大学のネットワークへの書き込みアクセス権がある場合(たとえば、USBキーを介して)、その外部サービスにアクセスする必要もありません(BitBucketがブロックされる可能性がありますが、問題ありません)。gitバンドル
を使用すると、gitリポジトリを1つのファイルとしてエクスポートできます。 このファイルから、リポジトリであるためにプルすることができます。

したがって、どのサイトからも(自宅などから)アクセスできなかった集中型サーバー(SVNなど)に自分自身を登録しなくても、別のサイトからリポジトリにアクセス/管理するためのさまざまなオプションがあります。

于 2012-06-12T16:24:08.667 に答える