2011-07-13 10 views
1

私は現在、JBossのサーバー構成を管理するためにSVNを使用して、私は、各作業コピーに同じサブディレクトリの複数のコピーを持っている必要がありますが、私はいくつかのファイルを変更すると、すべてのコピーが更新を取得するように、サーバー上の同じディレクトリを参照。SVN外観の代替GITはありますか?

例:

  • /サーバ/ binに(共有)
  • /サーバ/ノード01(リポジトリ/サーバ/ノードのコピー)
  • /サーバ/ノード02(リポジトリのコピー/サーバー/ノード)

それは同じ使用のgitを達成することは可能ですか?私は、(マニー)同様の質問で決定的な答えを見つけることができませんでした。私の知っている

+0

は、あなたがサブモジュールを見たことがありますか?それらの外部をgitリポジトリに配置する必要がありますが、それは通常どのように行われているのですか。 – robamaton

答えて

2

最高の概算はのgit - サブモジュールである[1]。

あなたはサブリポジトリを定義し、「親」のリポジトリを持つことができますが、概念的に、各サブリポジトリが持っている必要があり、正確なリビジョンを指定ハッシュが含まれています。

あなたのHEADがサブリポジトリ内を移動すると、 "git status"と "git diff"は親リポジトリのハッシュ変更としてそれを報告します。

は残念ながら、Gitのサブモジュールは、少し不格好です:あなたが親レポに引くと、自動的に子のレポを

  • 更新されません。あなたは(バック彼らがいた場所に彼らの新しい位置を元に戻す)ローカル変更を加えたかのようにする代わりに、子のレポが表示されます。

  • あなたは明示的に(もちろん、またはスクリプトそれ)「gitのサブモジュールの更新」するたびに呼び出す必要があり、あなたが引っ張った後/親レポをマージします。

これは、サブモジュールが存在する場合でも、「git rebase」とその他の操作が親機でうまく機能しないことを意味します。しかし、ここでの振る舞いをきめ細かく制御できるので、回避できないものはありません。

[1] http://kernel.org/pub/software/scm/git/docs/git-submodule.html

関連する問題