8

私は高校のロボット工学チームのプログラミンググループを指導しています。共有/バックアップのためにディレクトリを手動でコピーし、これらを手動でマージするという混乱を避けるために、ソース管理リポジトリを設定したいと思います。ビルド場所には通常ネットワークアクセスがないため、私は慣れていない分散バージョン管理システム(DVCS)にたどり着きました。

最大の要件は次のとおりです。

  1. WindowsXPおよびVistaで動作します。(絶対に必要)
  2. 変更はローカルでコミットできます。(すべてのDVCSに当てはまるようです)
  3. 複数のマシンのリポジトリは、ネットワークにアクセスせずにマージできます。(おそらく、リポジトリをUSBドライブに保存し、ドライブを別のマシンに交換してから、そこからマージすることによって)

また、バージョン管理システムを使用したことがない高校生と一緒に作業しているので、できればグラフィカルUIを使用して、習得と使用が簡単である必要があります。

どのDVCSがこれに最も適しているかに関する提案。

編集:

答えてくれてありがとう。Mercurialはかなり見栄えがしますが、あるディレクトリから別のディレクトリへのリポジトリのマージをサポートしていますか、それともマージするためにローカルネットワークを設定する必要がありますか?

4

6 に答える 6

6

Gitは素晴らしいですが、そのWindowsサポートは極端に緩いです(MSysGitを使用しても)。Mercurialをお勧めします。自分で実際に使ったことはありませんが、Windowsのサポートはかなり使えると聞いています。また、従来のVCS(SVNなど)を使用している場合は、学習曲線が少し簡単になります。

于 2008-10-17T16:29:34.050 に答える
5

Mercurialは、WindowsとLinuxの両方で非常に使いやすいです。 TortoiseHgは、エクスプローラーに統合されるWindows用のGUIフロントエンドです。正常に動作します。どちらもオープンソースです。WindowsでGitを使用するのはそれほど簡単ではないことを理解しています。

答えてくれてありがとう。Mercurialはかなり見栄えがしますが、あるディレクトリから別のディレクトリへのリポジトリのマージをサポートしていますか、それともマージするためにローカルネットワークを設定する必要がありますか?

Mercurial / TortoiseHgは、他のすべての分散バージョン管理ツール(私が知る限り)と同様に、これ(およびそれ以上)を実行します。私はそれがあなたの問題を解決すると信じています。これはDVCSであり、TortoiseHgを使用すると、Windowsで簡単に使用できます。他の分散バージョン管理ツール(たとえばbzr)もおそらく機能しますが、私はそれらの経験が少ないです。Subversion(svn)は、集中化されたバージョン管理ツールです。いくつかの回避策を使用すると、環境で機能させることができますが、実際には解決したい問題に対処していません。他の回答者がなぜそれを提案しているのか私にはわかりません。

于 2008-10-17T16:30:18.387 に答える
2

答えてくれてありがとう。Mercurialはかなり見栄えがしますが、あるディレクトリから別のディレクトリへのリポジトリのマージをサポートしていますか、それともマージするためにローカルネットワークを設定する必要がありますか?

はい、そうです。 すべてのDVCSがこれをサポートしています。これとサーバーからのマージの唯一の違いは、通常、適切なコマンドをURLではなくローカルファイルパスに渡すことです。

Mercurialでは次のようになります。

2つのリポジトリがあります。1つはハードディスク(C:\ Project)にあり、もう1つはフラッシュドライブ(F:\ Project)にあります。

cd C:\Project

hg pull F:\Project

同様に、同じシステムに2つのリポジトリがある場合:

cd C:\Project

hg pull C:\Project1

マージが必要な場合は、2つの「ヘッド」が作成され、それらを。とマージするように求められますhg merge

added 1 changesets with 1 changes to 1 files (+1 heads)

(run 'hg heads' to see heads, 'hg merge' to merge)

これは、サーバーからプルしてマージした場合と同じであることに注意してください。

于 2008-10-17T18:42:43.940 に答える
2

Mercurialはあなたのニーズにぴったりだと思います。

  • Pythonで書かれているので、Windowsで問題なく実行できます。
  • パッチまたはバンドルを使用して、変更をローカルに簡単に適用できます
  • 利用可能なGUIツールがいくつかあります(TurtoiseHGを探してください)

Mercurialは私が個人的に使用しているVCSです。本当に簡単に学ぶことができます。Windowsのサポートがはるかに優れているため、Gitで試してみることをお勧めします。

于 2008-10-17T16:38:37.950 に答える
2

私はバザーが大好きです: http://bazaar-vcs.org/

必要なものがすべて揃っており、非常に使いやすいです。

于 2008-10-17T18:14:29.643 に答える
0

SVNは、特に1人のユーザーにとって、セットアップと使用が驚くほど簡単であることがわかりました。

私が本当に興味深いと思ったのは、ssh + svnプロトコルがSSHの機能を使用してリモートシステムでコマンドラインを実行し、実際にSVNを起動したため、リポジトリのディレクトリを作成する外部のサーバーには実際にはセットアップがまったくありませんでした。

CLI(WindowsではTortiseSVN)が気に入らない場合、SVNには多くのシェルがあります。そのため、他のものと同じように簡単に使用できます。

于 2008-10-17T16:36:32.697 に答える