2016-05-14 7 views
0

DESCRIPTIONで)this link:パターン.gitignoreファイル内の別の場所

1から2つの引用符の下に検索:これらをサポートするそれらのコマンドのコマンドラインから読み取る

  • パターンを。
  • PATTERN FORMAT

2)(強調は私です):パターンはスラッシュ/が含まれていない場合

  • 、Gitはシェル グロブパターンとチェックとして扱い .gitignoreファイル(でない場合は、 作業ツリーの最上位を基準にした、)の相対パス名と一致します。

両方引用符(上記の太字でもう一つは)コマンドSOでthis answerに記載されている(いないファイル)を無視するのgitを参照するように見えます。私がここに見ている問題は、このコマンドはPro Git bookにも言及されていないということです。したがって、上記の引用に関する私の解釈はちょうど間違っている可能性があります。

私は以下を繰り返すことを、私は.gitignoreファイルについて別の質問があり、これは約this comment SOである:

You can put .gitignore anywhere in a git project - if a path starts with /, it will be relative to the location of the .gitignore file; otherwise it will refer recursively to files in the current directory and its descendant directories.

私はちょうどlink given aboveからこれを推定する方法を見ることができません。

+0

ここでは、あなた自身が提供したリンクから抜粋したものがあります: '.gitignoreファイルから、パスと同じディレクトリ、または親ディレクトリにあるパターンを高レベルのファイル(作業ツリーのトップレベルまで)は、下位レベルのファイルに含まれているファイルによって、そのファイルを含むディレクトリまで上書きされます。これらのパターンは、.gitignoreファイルの場所に関連して一致します。プロジェクトには通常、リポジトリにプロジェクトビルドの一部として生成されたファイルのパターンを含む.gitignoreファイルが含まれています。 ' – ingenious

+0

参照した回答のgit ignoreコマンドはgitの一部ではありません。まったく同じ回答には、コマンドを取得できるリポジトリへのリンクがあります。 – ingenious

+0

@ ingenious上記で提供された抽出物を参照すると、私はそれを全く理解していないと言わねばならず、そのためにこれと私が言及したOPによるコメントの関係を見ることはできません私の質問で。たぶんあなたは、この抽出物が何であるかをより詳細に説明する答えを提供することができます。ありがとう。 –

答えて

0

OKなので、誤解があるようです。プロのサイトの記事gitignoreについては、コマンドではなく.gitignoreファイルを参照しています。他の質問で言及されているコマンドはで、 gitの部分ではなく、代わりにgit extrasと呼ばれるパッケージです。

もう少し考えてみたら、私はここで混乱しているものが出始めていると思っています。 gitがパターンを無視して評価する順序を引用しただけです(部分的に)。この注文の最上部にはpatterns from the command lineがあります。これらは、git ignoreパターンを処理する組み込みカスタムコマンド(参照された答えのような)です。

2番目の見積もりは、gitignore manpageの下部にある例で最もよく説明されています。

$ gitのステータス
[...]
#人跡未踏のファイル:私は話している
[...]
#ドキュメント/ foo.htmlという
#ドキュメンテーション/ gitignore。 HTML
#はfile.o

lib.a#1のsrc/internal.o
[...]
$ cat .git/info/exclude
#ツリー内のどこでもオブジェクトとアーカイブを無視します。
*。[OA]
#が生成されたHTMLファイルを無視
$猫のドキュメント/ .gitignore、
* .htmlを手
によって維持されているfoo.htmlという除く
#!foo.htmlという
$ gitのステータス
[...]
#人跡未踏のファイル:
[...]
#ドキュメント/ foo.htmlという
[...]

どこでもあなたのプロジェクトにgitignoreファイルを配置することも完全に有効である、再びofficial documentation on gitignoreを参照してください。

Gitは通常、最高から最低まで、次の優先順位で、複数のソースをチェックします:
- コマンドライン
- パスとして同じディレクトリで.gitignoreファイル、または任意の親ディレクトリで、(まで高いレベルのファイルのパターンを持ちます作業ツリーのトップレベル)は、ファイルを含むディレクトリに下位レベルのファイルをオーバーライドしてになります。これらのパターンは、.gitignoreファイルの場所に関連して一致します。プロジェクトには通常、リポジトリに.gitignoreファイルが含まれ、プロジェクトビルドの一部として生成されるファイルのパターンが含まれます。

そして、先頭のスラッシュに関する部分は次の段落で説明します。先頭のスラッシュは、パス名の先頭にマッチ

。たとえば、 "/*.c"は "cat-file.c"に一致しますが、 "mozilla-sha1/sha1.c"には一致しません。

別の言い方をするために、パターンは、通常、パターンが続くグロブとして評価され、.gitignoreファイルの場所に任意のサブディレクトリ相対で任意のパスと一致します。しかし、パターンがスラッシュで始まる場合は、パターンが相対パス名の先頭から正確に一致することを意味します。

+0

私の質問にある2つの引用符は** git ignore **コマンドとは関係がないと確信しています。しかし、私はまだどのようにして結果を推測することができないのか理解していない[リンクされたコメント] {http://stackoverflow.com/questions/4308610/how-to-ignore-certain-files-in-git#comment43965500_4308628}で、gitignoreのマンページから。 –

関連する問題