gitignore에 .gitignore 추가 수 있습니까? .gitignore 그래도 작동하지 않습니다 편집 된 파일에서보고

.gitignore파일을 .gitignore자체 에 추가 할 수 있습니까?

.gitignore

그래도 작동하지 않습니다

편집 된 파일에서보고 싶지 않습니다.



답변

.gitignore파일의 목적은 프로젝트에서 공동 작업하는 모든 사람이 실수로 생성 된 캐시 파일과 같은 프로젝트에서 일부 공통 파일을 커밋하지 못하도록 방지하는 것입니다. 따라서 .gitignore리포지토리에 포함되어 있기 때문에 무시해서는 안됩니다 .

하나의 저장소에서만 파일을 무시하고 무시 목록 (예 : 개인 파일)을 커밋하지 않으려면 .git/info/exclude해당 저장소에 파일을 추가 할 수 있습니다 .

머신의 모든 저장소에서 특정 파일을 무시하려면 파일을 작성한 ~/.gitignore_global다음 실행할 수 있습니다.

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

답변

.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 상태로 표시됩니다.


답변

그렇게 할만한 이유는 없습니다. 당신이 파일을 원하는 경우 무시 당신을위한 복제 만 ,에 추가 .git/info/exclude하지에 .gitignore파일.


답변

.gitignoregitignore 파일에 입력 한 후 다음을 시도하십시오.

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

이미 언급했듯이 작동하지만 리포지토리를 여러 사용자가 공유하는 경우 gitignore를 무시하면 비생산적 일 수 있습니다.


답변

그래 넌 할수있어; 여전히 git에 의해 추적되기 때문에 편집 된 파일에서 여전히 볼 수 있으며 git에 의해 추적 된 파일은 .gitignore에 있더라도 항상 수정 된 것으로 표시됩니다. 그래서 단순히 untrack 을.

그러나 변경 사항을 커밋하거나 재설정하지 않는 이유는 무엇입니까? 상태에서 제거하는 것이 훨씬 더 좋은 방법입니다 … 또한 새로운 리포지토리 복제본은을 추가해야 .gitignore하므로 성 가실 수 있습니다.


답변

이것을 .gitignore 파일에 쓰면됩니다. 은 *무시 목록에 모든 것을 추가 한 다음 무시 목록 !.gitignore에서 .gitignore 파일을 제거합니다.

*
!.gitignore