gitgitore를 Git 저장소에 커밋해야합니까?


496

gitgitore를 Git 저장소에 넣는 것이 좋은 습관이라고 생각하십니까?

어떤 사람들은 마음에 들지 않지만 파일 기록을 추적 할 수있는 것이 좋다고 생각합니다. 그렇지 않습니까?


38
그렇지 않다면 .gitignore를 .gitignore에 넣으십시오.
CharlesB

답변:


488

일반적으로 예, .gitignore저장소 작업을 원하는 모든 사람에게 유용합니다. 때때로 당신은 더 많은 사적인 것들을 무시 LOG하고 싶을 것입니다.


137
+1 "개인 정보"는 파일 $GIT_DIR/info/exclude또는 ~/.gitconfig파일에 적절하게 언급 될 수 있습니다 .
WReach

5
파일이 이미 체크인되어 있고 무시하려는 경우 나중에 규칙을 추가해도 Git은 파일을 무시하지 않습니다. 이 경우 터미널에서 다음 명령을 실행하여 파일을 먼저 추적 해제해야합니다.git rm --cached FILENAME
eli-bd

133

당신은 일반적으로 커밋 .gitignore. 사실, 저는 개인적으로 작업하고 있지 않을 때 색인이 항상 깨끗한 지 확인합니다. ( git status아무것도 보여주지 않아야한다.)

실제로 프로젝트에 맞지 않는 것을 무시하고 싶을 때가 있습니다. 예를 들어, 텍스트 편집기가 자동 *~백업 파일을 작성 하거나 다른 예는 .DS_StoreOS X에서 작성된 파일 일 수 있습니다.

다른 사람들이 귀하의 규칙을 어지럽히는 규칙에 대해 불평하는 경우 .gitignore에는 제외하고 전역 제외 파일에 넣습니다.

기본적으로이 파일은 $XDG_CONFIG_HOME/git/ignore(기본값은 ~/.config/git/ignore)에 있지만 core.excludesfile옵션 을 설정하여이 위치를 변경할 수 있습니다 . 예를 들면 다음과 같습니다.

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

전역 제외 파일을 마음의 내용에 맞게 만들고 편집하기 만하면됩니다. 해당 머신에서 작업하는 모든 자식 저장소에 적용됩니다.


14
파일을 무시하고 있는지 설명 # some comment하기 위해 .gitignore파일에 줄을 추가 할 수 있습니다 . 모든 라인을 언급하는 것은 과잉의 비트,하지만 난 섹션을 표시했다가 , 하고 . 그렇게하면 누군가 다른 OS 또는 IDE를 사용하려는 경우 섹션을 추가 할 수 있으며 모두 공유 할 수 있습니다. # IDE (Eclipse)# OS (Mac OS X)# Generated (Perl)
Stuart R. Jefferys

9
"무슨 일을하지 않을 때 인덱스가 항상 깨끗한 지 확인하기 위해 개인적으로 노력합니다. (git status가 아무 것도 표시하지 않아야합니다.")
SGhosh

4
Nb. 최신 Git을 사용하는 경우 기본값은 core.excludesfile입니다 ~/.config/git/ignore. XDG 기본 디렉토리 사양을 준수합니다.
Jakub Narębski

1
+1 for .gitignoreglobal-푸시 된 .gitignore파일 의 내용 또는 푸시 해야하는지 에 대해 의견이 일치하지 않는 사람들이 작업 할 때 매우 유용 하며, 우리는 모두 다양한 유형의 노이즈를 생성하는 다양한 개발 환경을 사용합니다.
Krease

1
davidwalsh.name/global-gitignore 글로벌 무시에 대한 더 많은 정보
Frode Akselsen

11

커밋 .gitignore를 넣었습니다.이 파일은 다음 파일이 파생되어 무시되어야한다는 프로젝트를 빌드 할 수있는 다른 사람들에게 제공됩니다.

나는 보통 하이브리드를한다. makefile이 프로젝트 파생 또는 기타와 관련된 모든 파일을 알 수 있기 때문에 makefile에서 .gitignore 파일을 생성하고 싶습니다. 그런 다음 체크인하는 최상위 레벨 프로젝트 .gitignore를 가지십시오.이 파일은 다양한 서브 디렉토리에 대해 makefile로 작성된 생성 된 .gitignore 파일을 무시합니다.

따라서 내 프로젝트에는 빌드 된 모든 실행 파일이있는 bin 하위 디렉토리가있을 수 있습니다. 그런 다음 makefile에서 해당 bin 디렉토리에 대해 .gitignore를 생성하도록합니다. 그리고 bin / .gitignore를 나열하는 최상위 디렉토리 인 .gitignore에 있습니다. 상단은 내가 체크인 한 것입니다.


0

.gitignore를 커밋하는 것은 매우 유용 할 수 있지만 특히 분기간에 정기적으로 전환하는 경우 이후에 너무 많이 수정하지 않도록하고 싶습니다. 파일이 다른 지점이 아닌 지점에서 무시되는 경우가 발생할 수 있습니다. 추적되지 않은 파일을 덮어 쓰므로 체크 아웃에 실패하여 작업 디렉토리에서 파일을 수동으로 삭제하거나 이름을 바꾸어야합니다.

따라서 예, .gitignore를 커밋하십시오. 그러나 그 이후에는 그다지 변경되지 않을 것이라고 합리적으로 확신하지 못합니다.


-6

.gitignore 최소한 빌드 제품 (프로그램, * .o 등) 에는 좋은 습관 입니다.


11
그것은 그 질문에 답하지 못했다 : .gitignore 그 자체 가 " .gitignore'd" 이어야 하는가?
찰스 우드

6
주의하십시오, 질문하지 않았다,이 수행 요청이 있었는지 대답은 "[이] 좋은 연습이 망할 놈의 repo에 .gitignore를 저지하는 것입니다?".
papercowboy

5
@cayuu 나는 대답이 ".gitignore에게 좋은 습관이다"라고 대답한다고 믿습니다. xyz, 나는 그것이 어떻게 질문에 대답하는지 보지 못합니다. 문제는 .gitignore를 버전 제어 해야하는지 여부입니다.
nightograph
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.