web-dev-qa-db-ja.com

グローバル.gitignoreファイルが無視しないのはなぜですか?

$ cat ~/.gitconfig
[core]
        editor = vim
        excludefiles = /home/augustin/.gitignore
$ cat ~/.gitignore
toto
$ mkdir git_test
$ cd git_test/
$ git init
$ touch toto
$ git status

# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       toto
nothing added to commit but untracked files present (use "git add" to track)
$ git --version
git version 1.6.3.3

Totoが無視されないのはなぜですか?

〜/ .gitconfigの他の設定が考慮されます(色、エディター)。

40
augustin

git config --global core.excludesfile ~/.gitignore

95
sakisk

この質問は、オープンソースプロジェクトに含めたくない特定のファイルを無視しようとするときに見つかるかもしれませんが、ごく一般的なパターンに適合し、他のプロジェクトに含めたい場合があります。たとえば、言語に関係なく同じコマンドでテストを再帰的に実行したい場合があり、この詳細については、プライベートプロジェクトでは通常チェックインしたいが、手助けしているプロジェクトではチェックインしないローカルファイルに詳細を保持できます。で。

ファイルの名前がtestだとすると、2つの解決策があります。まず、bashエイリアスは次のようになります。

./test || ./.test

また、グローバルgit ignoreに.testを追加できます。

または、ローカルのgitignoreを作成する方法について、 here のアドバイスに従うこともできます。ただし、グローバルgit ignoreはオーバーライドされるので、グローバルgit ignoreにあるものをすべて含める必要があります。

0
zachaysan