2009-06-01 14 views
9

1つのgitリポジトリに複数のディレクトリを結合したいと思います。これらのリポジトリは論理的にリンクされていますが、異なるファイルシステムのパスに属します。/etc/httpd/var/named/chroot/var/namedには、両方とも全体として管理したい仮想ホストデータが含まれていますが、リンクすることはできません。1つのgitリポジトリ内の無関係のディレクトリを維持する

私はasked the git mailing listでしたが運がありませんでした。

提案?


アップデート:私は非常に簡単にできるように、彼らが起こるよう変更を追跡

  • :私はちょうどそれは、非常に便利な方法です見つけ、コードを展開するために、このメカニズムを使用していないgit checkoutを以前の既知の安定点とイベントgit bisect構成の問題に置き換えます。
  • ステージングが別のディレクトリに変更され、その後、変更を実行する時間が来たときにそのディレクトリから引き出されます。
+0

こんにちはRobert、関連のない2つのディレクトリを1つのGITリポジトリにまとめる方法はありましたか?私は象徴的なリンクがいいと思ったが、OSX GITではそれらを尊重していない。 –

+0

これまでのところ、何もありません。 –

+0

さて、ありがとう。 +1の質問のために... –

答えて

2

これを実行する最善の方法は、ファイルをデプロイするスクリプトを作成し、Gitを使用してプロジェクトのソースを管理することです。より洗練されたニーズがある場合、Puppetのような管理ツールはバージョン管理と統合されます。

Direct Gitのチェックアウトは、展開を行うのに適した方法ではありません。エクスポート機能を使ってターゲットシステムにリポジトリがあるという問題を避けることができますが、Gitはファイルのフルアクセス権/ ACLデータを保存しません。

+0

答えをありがとう。私はgitを使って実際に 'デプロイ'していません。バージョンコントロールの下で/ etcを設定して、変更をステージングするためにクローンしてから、必要が生じたときに引き出します。 私はこれを展開のためのものよりも歴史と追跡のために多くしています。 –

+2

これはおそらく、etckeeperを見て、特別なケースとしてサービス設定ファイルを考えてみる価値があります。 etckeeperは/ etc(あなたが選んだDVCS)用のリポジトリを実行し、ディストリビューションパッケージマネージャを使って作業します。 –

+0

興味を引くように見える、私は見てみましょう。 –

2

おそらく、複数の互いに素なブランチを持つGitリポジトリを設定することができます。これは、トラッキングする個別のディレクトリツリーごとに1つずつです。この配置があなたのすべての要件を満たすかどうかはわかりませんが、異なるリポジトリを同じリポジトリに保存することができます。

+0

GITリポジトリをどのように "複数の独立したブランチ"で設定しますか?私の無知を許してください... –

+0

@yar:Gitの本の "新しい空のブランチの作成"を参照してください:http://book.git-scm.com/5_creating_new_empty_branches.html –

関連する問題