入れ子になったGitリポジトリがありますが、これで問題が発生しますか?

入れ子になったGitリポジトリがありますが、これで問題が発生しますか?

歴史

  1. etckeeperをインストールしました
  2. 私は海岸壁のファイアウォール構成を独自のGitリポジトリに追跡することにしました。特定の設定変更をより簡単に確認できたらと思います。私はもはやetckeeperを必要としないと判断し、それを削除しました。だから紛争はありませんが…
  3. etckeeperを見直している間実際に/etc/.git

気づく前に、これはgit initネストされたGitリポジトリの作成を拒否すると思いました。

etckeeperを使い続けると、内部の.gitディレクトリを追跡するために外部のgitが肥大化する可能性があります。または無視できます。みんなディレクトリ内のファイルは別々のgitリポジトリです。

だから気になります。何が間違っている可能性がありますか?

答え1

ネストされたGitリポジトリを使用した最初のテストでは、これら3つの問題は発生しませんでした。.gitを追加する必要はありませんgitignore。すべてのディレクトリの内容は.git自動的に無視されます。

他のファイル(たとえば、同じディレクトリにあります.git)は外部リポジトリにコミットできます。

したがって、etckeeperはすべてのファイルを追跡でき、サブディレクトリは特定のリポジトリ内でその履歴をより慎重に記録できると思います。二つの歴史はお互いについて何も知らない。

後で問題が見つかりました。 gitリポジトリディレクトリをコミットするときそしてコミット自体を含みます。そしてそのディレクトリのファイルを外部リポジトリにコミットしなかったが、SubprojectコンテンツはコミットIDとしてのみ表示されます。 gitkでマークしているようですSubmodule

gitが本当にそれらをとして認識したいと思うように聞こえますgit-submodule。私はそれを特に理解していませんがgit-submodule、それが少し混乱していることだけを知っています。

また、gitがサブモジュールを使用している場合でも、.etckeeperファイルがディレクトリ内のファイルによって膨らんでいることを確認しました。.git

関連情報