23

ホームフォルダのリポジトリを作成しました。これは私の.gitignoreファイルです:

!.vim/plugin/*
!.vim/doc/*
.*
*
.viminfo
.vim/.netrwhist
.vim-fuf-data/file/stats
bin/dwm/dwm

したがって、内部に新しいファイルを作成すると、このファイルが表示.vim/pluginされた後に期待していましたが、なぜですか?git status

編集:2つの回答の後、以下のように行を無視する逆の位置を変更しましたが、問題は同じです。.vim/pluginフォルダー内に作成した新しいファイルは、 git status..の後に表示されません。

.*
*
.viminfo
.vim/.netrwhist
.vim-fuf-data/file/stats
bin/dwm/dwm
!.vim/plugin/*
!.vim/doc/*
4

3 に答える 3

25

4行目では、ですべてを無視しています*。これは、前の否定パターンをオーバーライドします。マニュアルページから:

優先順位の1つのレベル内で、最後の一致パターンが結果を決定します

.gitignoreここで、「優先度」とは、やのようなパターンを無視するためのさまざまなソースを意味し$GIT_DIR/info/excludeます。

で始まるパターン以外のすべてを無視したい場合は、の先頭に!移動する必要があります*.gitignore


編集

私はSOに関する別の質問の助けを借りて解決策を見つけました:

*
!*/
!.vim/plugin/*
于 2012-11-15T13:51:52.717 に答える
2

否定された行(で始まる行)をファイル!の最後に移動してみてください。.gitignore

こちらの例のセクションをご覧ください

于 2012-11-15T13:51:14.810 に答える
2

別の方法は、トップレベルのファイルとディレクトリのみを無視することです。ホワイトリストに登録されたディレクトリでは、関連する質問へのこの回答のように、必要に応じて同じことを行います。

たとえば、私の.gitignoreは次のようになります

/*
!.gitignore
!.vimrc
!.bashrc
!.vim/
.vim/.netrwhist
!.gconf/
.gconf/apps/*
!.gconf/apps/gnome-terminal
!bin/

Deveの答えは、ホームディレクトリの下のすべてのディレクトリを検索するため、gitを非常に遅くします。(ホームディレクトリの設定にgitを使用する特定の場合)

于 2014-03-14T14:12:21.900 に答える