web-dev-qa-db-ja.com

gitignoreに.gitignoreを追加

.gitignoreファイルを.gitignore自体に追加することはできますか?

.gitignore

動作しません

編集したファイルで見たくない

103
user1125394

.gitignoreファイルの目的は、プロジェクトで共同作業するすべての人が、生成されたキャッシュファイルなど、プロジェクト内の一般的なファイルを誤ってコミットすることを防ぐことです。したがって、.gitignoreは無視しないでください。リポジトリに含まれているはずです。

1つのリポジトリ内のファイルを無視したいが、無視リスト(たとえば、個人ファイル)のコミットを避けたい場合は、そのリポジトリの.git/info/excludeに追加できます。

マシン上のすべてのリポジトリ上の特定のファイルを無視したい場合は、ファイル~/.gitignore_globalを作成してから実行できます

git config --global core.excludesfile ~/.gitignore_global
128
Lars Nyström

.gitignoreはそれ自体を無視できますチェックインされたことがない場合:

mhaase@ubuntu:~$ git --version
git version 1.7.9.5
mhaase@ubuntu:~$ git init temp
Initialized empty Git repository in /home/mhaase/temp/.git/
mhaase@ubuntu:~$ cd temp
mhaase@ubuntu:~/temp$ touch .gitignore foo bar baz bat
mhaase@ubuntu:~/temp$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       .gitignore
#       bar
#       bat
#       baz
#       foo
mhaase@ubuntu:~/temp$ echo "foo" >> .gitignore
mhaase@ubuntu:~/temp$ echo ".gitignore" >> .gitignore
mhaase@ubuntu:~/temp$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       bar
#       bat
#       baz
nothing added to commit but untracked files present (use "git add" to track)

.gitignoreを(自分自身を無視するように指示する前に)チェックインすると、後で自分自身を無視するように変更した場合でも、常にgitステータスで表示されます。

28
Mark E. Haase

これを行う正当な理由はありません。クローンでのみファイルを無視する場合は、.gitignoreではなく.git/info/excludeにファイルを追加します

18
Daenyth

はい、できます。まだgitによって追跡されているため、編集されたファイルに表示されます。また、gitによって追跡されたファイルは、.gitignoreにある場合でも常に変更済みとしてマークされます。したがって、単純に ntrack itです。

しかし、あなたが持っている変更をコミットまたはリセットしないのはなぜですか?ステータスからそれを削除するよりはるかに良い方法です...また、リポジトリの新しいクローンは、.gitignoreを追加する必要があることに注意してください。

1
CharlesB

Gitignoreファイルに.gitignoreと入力したら、次を試してください。

git rm -r --cached .
git add --all
git commit -m "ignoring gitignore"
git Push --set-upstream Origin master

既に述べたように動作するはずですが、レポジトリが複数のユーザーによって共有されている場合、gitignoreを無視すると逆効果になる可能性があります。

1
Arnab Sanyal