2012-03-27 11 views
5

私たちはEclipse(eGitプラグインを使用しています)を使用しており、複数のユーザーが書き込みアクセス権を持つ共有ネットワークドライブにレポをホストしたいとします。複数のユーザーが共有ネットワークドライブでGitリポジトリを使用することは安全ですか?

ユーザーはすべて同じオリジナルのレポ(共有ドライブ上)を指すことができますか、または各ユーザーがローカルドライブにレポをクローンし、このローカルバージョンを処理し、ネットワーク化されたオリジナルに変更をプッシュする方が良いでしょうか。必須?

EclipseはGitリポジトリからプロジェクトを(あなたのEclipseワークスペースに)インポートすることができるようですが、そのプロジェクトを「プロジェクトを共有する」ことを選択するまで、インポートされたプロジェクトはGitによって監視されません。このステップでは、作業ディレクトリはそのプロジェクトのrepoの作業ディレクトリの作業ディレクトリになります。おそらく、このプロジェクトを共有しているすべてのユーザーは、共有ドライブ上のリポジトリと同じ作業ディレクトリを持つことになります。

私はこのことの意味についてはっきりしていませんが、最初の点検では良いアイデアのようには見えません! 2人のユーザーが同時に編集するために同じファイルを開こうとしているような基本的な問題はどのように処理されますか?

ありがとうございました。

+0

これはgitを必要としません。通常のネットワークドライブを使用し、すべての開発者にそこから読み書きをさせてください。私はそれをお勧めしません、多くの問題に終わるので、それは可能です。 – Sgoettschkes

答えて

7

各自が独自のレポを持っていることをお勧めします。

現在のリポジトリを裸のレポとしてクローンし、ネットワークドライブに配置します。

git clone --bare /path/to/current/cool_project cool_project.git 

cool_project.gitをネットワークドライブに移動し、誰もがそれをクローンにするようにします。 Bare reposには作業ディレクトリがないので、名前を付けておくと安全です。

詳細については、Git on a Serverの第4章、具体的にはchapter 4.2を参照してください。

+0

うん、ちか。良いリンク。 – Geeb

+0

私はウィンドウを使用することを余儀なくされ、eGitプラグインがこの機能をサポートしていないように見えるので、裸のレポをクローンするためにmsysgitをインストールする必要があると思います。 – Geeb

3

あなたは、各ユーザがネットワーク経由でgitリポジトリを指し示し、各開発者のコ​​ンピュータに個別のgitリポジトリを持たず、次に「中央」リポジトリにプッシュすることを話しています。私があなたの質問を読むのが正しければ、それはgitが提供しなければならないものを利用する素晴らしい方法ではありません。 Gitは分散バージョン管理システムなので、誰もが独自のリポジトリを持って、CIのビルドを行う中央リポジトリに変更をプッシュする必要があります。

+0

@PITaylor OKなので、各開発者はネットワークドライブから自分のローカルドライブにレポを複製してから、このクローンバージョンを作業することをお勧めします。 – Geeb

+2

他にgitを使うべきではありません。同じレポを共有することは、起こるのを待っている災害です。 –

+0

それはあなたがそれをやるべきである方法です。 Githubには、githubを使用していない場合でも、http://help.github.com/にある素晴らしいスタートアップチュートリアルがあります。 – PlTaylor

関連する問題