2017-05-15 1 views
1

소프트웨어 프로그램을 컴파일하는 데 필요한 두 가지 유형의 파일이 들어있는 폴더가 있습니다. 소프트웨어 프로그램을 컴파일 할 때, 내가 추적하고 싶지 않은 파일을 자동으로 생성하지만 그 파일 중 하나는 내가 가지고있는 프로그램을 컴파일하는 데 필요한 같은 파일 확장자입니다 : git은 확장자를 제외한 모든 파일을 무시하지만 확장자 패턴을 무시합니다.

# ignore everything (to ignore all auto-generated files without listing their extensions) 
* 

# but do not ignore (required to compile) 
!*.abc 
!*.xyz 

# but ignore if file name matches pattern (auto-generated file after compilation) 
*generic.abc 

거기인가 두 가지 지정된 파일 확장자를 제외한 모든 것을 무시하지만 특정 파일 이름 확장자 앞에 특정 명명 규칙이 있으면 무시하십시오. 참고 : "generic.abc"파일 앞에 고유 한 텍스트가 있으므로이 "generic.abc"규칙을 무시하고 싶습니다. 미리 감사드립니다!

+0

가능한 경우 제외 규칙을보다 명확하게 지정하는 것이 좋습니다. 그러나 여러분이 while-list를 제외한 모든 것을 무시하는이 접근 방식을 원한다면 지정한 규칙이 작동하는 것처럼 보입니다 (최소한 함께 던진 빠른 테스트에서는). 나는 당신이 그 규칙들을 사용할 때 어떤 문제를 발견했다고 가정한다; 예기치 않은 행동을 관찰 했습니까? –

+0

@MarkAdelsberger Generic.abc 파일을 추적하는 것 같습니다 ... 위의 코드를 .gitignore 파일에 추가하기 전에 처음에는 추적했지만'git rm --cached generic.abc'로 제거했지만 여전히 나타납니다 'git status'를 입력했을 때 – Prevost

+0

'git rm --cached generic.abc' 다음에는'deleted' (이전 커밋에만 있음을 나타냄) 또는 untracked 파일로 표시됩니까? –

답변

0

네, 정확하게 게시 한 것처럼 작동합니다.

1

파일 이름과 확장자 뒤에 * 기호가 하나씩 생략되었습니다. 나는이 링크가 도움이된다는 것을 발견했다 here.

이것은 수정 된 .gitignore 파일이며 작동하는 것 같습니다.

# ignore everything (to ignore all auto-generated files without listing their extensions) 
* 

# but do not ignore (required to compile) 
!*.abc 
!*.xyz 

# but ignore if file name matches pattern (auto-generated file after compilation) -> HERE IS THE ADDITIONAL * after .abc! 
*generic.abc* 
관련 문제