2014-09-18 1 views
8

OS X 컴퓨터의 Android Studio에서 Git을 사용 중이고 .gitignore 파일을 .gitignore (이 파일은 .iml 파일을 무시하고 싶습니다.) 프로젝트보다 우선합니다. 이 일을 어떻게 할 수 있습니까?프로젝트 .gitignore를 무시하는 나를 위해 .gitignore 파일을 추가 할 수 있습니까?

# Android Studio 
.*.iml 
*.iml

을 그리고 난 자식이 내 파일 git config --global core.excludesfile ~/.gitignore을 사용하려면이 명령을 사용했지만, 그것은 작동하지 않습니다

난에 다음과 같은 라인을 내 홈 디렉토리에 .gitignore 파일을 만들려고했다.

아이디어가 있으십니까?

+0

AFAIK, 당신은 repo의 루트 디렉토리에있는'.gitignore' 파일 (있는 경우)을 덮어 쓸 수 없습니다. 모든 "코어 제외 파일". – Jubobs

+0

관련 : [단일 repo 내에 여러 .gitignore 파일을 저장할 수 있습니까?] (http://stackoverflow.com/questions/9730486/can-you-have-multiple-gitignore-files-within-a-single-repo) –

+0

아니, 작동하지 않았다. 나는 .iml 파일을 무시하도록 할 수 없다 : ( – Neigaard

답변

9

.gitignore 파일을 만드는 대신 should use.git/info/exclude 파일을 설정하여 복제본의 복제본에 특정한 규칙을 무시하십시오.

그래서, 기본적으로, 당신의 프로젝트 루트로 이동

cd $PROJECT_ROOT 
echo "*.iml" >> .git/info/exclude 

주를 실행하는 것을 *.iml뿐만 아니라 종류 .*.iml의 파일의 처리됩니다, 그래서 당신은 하나의 규칙을 무시로 할 수 있습니다 패턴.

또한 기존의 무시 규칙 인 .gitignore을 보완하며 무시 규칙은 .gitignore으로 계속 적용됩니다. 당신이 이미 망할 놈의 repo에 .iml 파일을 추적하는 것 같다, 그래서 당신이뿐만 아니라 한 번 마스터 저장소에서 그들을 untrack 것

git rm -r *.iml 
git commit -m "removed *.iml" 

주를 사용 힘내에서 제거 시도 할 수


너는 밀고한다.

그렇지 않으면 git update-index --assume-unchanged <filename>을 사용하여 해당 파일의 변경 사항을 로컬에서 무시할 수 있습니다. 그리고 나중에, gitignore 규칙은 괜찮을 겁니다.

+0

'.git/info/exclude'에서'! *. jar'를 사용하여'* .jar'를 오버라이드하는'.gitignore' 규칙을 재정의하는 데 사용할 수 있습니까? –