2016-09-02 15 views
0

私の質問は簡単だと思いますが、私はGoogleで答えを見つけることができません。gitのディレクトリを追跡する

私はマスターブランチと2つのサブブランチを持つGITプロジェクトを持っています。それらを「a」と「b」としましょう。

ファイルを(GitLabを使用して)マスターに作成すると、 'a'と 'b'サブブランチにプッシュされます。これは予想される動作です。

しかし、私がマスターにディレクトリを作成すると、 'a'と 'b'には表示されません。

これは正常な動作ですか?ディレクトリをGitLabやコマンドラインを使ってサブブランチに伝播させるには?

+0

Gitには「サブブランチ」というものはありません。あなたはsub * module *を意味しますか? – torek

答えて

0

git addは空のディレクトリではありません。これは、GitLabがそれを「伝播」できない可能性が高いためです。 1つの回避策は、GitLabにコミットする前にプレースホルダファイルをディレクトリに追加することです。

他にも言及したように、プレースホルダーファイルは.gitignoreファイルですが、必ずしもそうである必要はありません。

1

ディレクトリはgitで追跡されません。ファイルはあります。ディレクトリはツリーの一部として(つまり、ファイルが格納されている場所に)ピックアップされますが、空のディレクトリがある場合、そのディレクトリに内容がない場合は追跡されません。

追跡されるディレクトリを持つ方法は、.gitignoreというディレクトリのルートに空のファイルを追加することです。これはファイルです。つまり、リポジトリに追加するとディレクトリが追跡されます。また、 gitが何を無視するかを知るために使われるファイルです。このファイルを空のままにすると、現在無視されているファイルのリストには何も変更されません。 .gitkeepという名前の空のファイルを追加することをお勧めする人もいますが、これは非公式の規則です。再び。それは害ではありませんが、私は任意の名前のファイル名(.gitkeep)ではなく、意味(.gitignore)を持つファイル名を使用することを好みます。

+0

「.gitkeep」は任意の規約であることは決してありませんでした。私はそれが特別な目的を持っていると思ったが、今言及したように、それは明らかだ。 –

0

Gitを使って空のディレクトリを追加することはできません。これはあなたが対処しなければならないものです。ディレクトリが空である必要がある場合は、すべてを無視するgitignoreファイルを追加することができます。

+0

'.gitignore'ファイルを追加すると、ディレクトリはまだ空ですか? –

+0

そのファイルだけでなく、はい。 – zwik

+1

@TimBiegeleisen:木が森の中に落ちた場合:-)(...木材チャックはどれくらいの量の木材を入れることができますか?) – torek

関連する問題