.gitignore 파일, xcode 프로젝트에서 어디에 넣어야합니까?


102

git이 UserInterfaceState.xcuserstate내 XCode4 프로젝트에서 내 파일 을 무시하도록하고 싶지만 파일을 어디에 두어야 합니까? .gitignore, .git폴더 안에 있습니까? 아니면 밖으로? 는 .git과 같은 폴더에 ProjectName.xcodeproj파일


답변:


124

.gitignore프로젝트의 모든 단일 디렉토리에 있을 수 있습니다 .

그러나 가장 좋은 방법은 .gitignore프로젝트 루트 디렉터리에 하나의 파일을두고 다음과 같이 무시할 모든 파일을 저장하는 것입니다.

ignoredFile.whatever
ignoredDirectory/*
directory/ignoredFileInsideDirectory
.svn

.gitignore파일 을 생성하면 변경 사항이 있거나 저장소에 새로 추가 된 파일 무시는 커밋 대기로 표시되지 않습니다.

또한 모든 git 저장소를 관리하는 하나의 전역 로컬 git ignore 파일을 가질 수 있습니다.

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

이 대안은 IDE 관련 파일 등과 같이 프로젝트와 관련이없는 무시 된 파일에 특히 유용합니다.


1
이 .gitignore는 원본 또는 마스터 / 로컬 저장소 복사본에 추가해야합니까?
Adil 2013

1
로컬로 (물론 어떤 지점에서 원점으로 밀어 넣을 것입니다).
Daniel Ribeiro 2013

21

git에서 파일을 무시하는 방법이 있습니다.

  1. Global git ignore : -이 접근 방식에서는 사용자 지정 규칙이 컴퓨터의 모든 git 디렉터리에 적용됩니다. 일반적으로이 파일은 ~/.gitignore_global경로 아래에 생성 될 수 있습니다 . 이 접근 방식은 OS 또는 기타 로깅, 캐싱 및 기타 도구에서 생성 된 일부 유형 파일을 제외하려는 경우 유용합니다.
  2. 저장소 별 git ignore : -이 접근 방식에서는 사용자 지정 규칙이 컴퓨터의 특정 git 디렉터리에 적용됩니다. 저장소 별 로컬 규칙을 저장소의 .git/info/exclude파일에 추가 할 수 있습니다 . 이 파일에 지정된 규칙은 커밋되지 않으므로 다른 사람과 공유되지 않습니다. 일반적으로이 접근 방식은 로컬에서 생성 된 파일의 커밋을 방지하는 데 유용합니다. 예를 들어 편집기에서 만든 파일의 경우.
  3. 경로당 git ignore : -이 경우 사용자 지정 규칙이 특정 git 저장소 하위 경로에 적용됩니다. .gitignore특정 저장소의 모든 하위 경로에 만들 수 있습니다 . 이 접근 방식은 일반적으로 특정 저장소의 특정 폴더 아래에서만 일부 유형의 파일을 무시하는 데 사용됩니다. 이 파일은 다른 경로 및 다른 저장소에 의해 제어되는 버전에 추가 될 수 있습니다.

따라서 UserInterfaceState.xcuserstate모든 저장소에서 특정 파일 ( ) 을 무시 하려면 가장 좋은 방법은 전역 git ignore 접근 방식을 사용하는 것입니다. 그러나 파일이 특정 저장소에서만 생성되는 경우 저장소 별 git ignore 접근 방식을 사용할 수 있습니다.

자세한 내용은 훌륭한 블로그 게시물을 읽을 수 있습니다 . 그리고 언어 별 git ignore 규칙을 여기에서 찾을 수 있습니다 . 그리고이 웹 사이트를 사용하여 특정 언어, 도구 또는 OS에 대한 일반 git ignore 규칙을 자동으로 생성 할 수 있습니다 .



12

.gitignore파일을 어디에 넣어야 합니까?, .git 폴더 안에 있습니까?

폴더 .gitignore안에는 없습니다 .git.
그러나 .git/info/exclude일반적으로이 특정 저장소에 대해서만 파일을 제외하려는 경우 ( 이와 같은 별칭 사용) 파일을 로컬에서 제외 할 수있는 파일입니다 .

git config alias.exclude "!sh -c 'echo \"$1\" >> .git/info/exclude' -"
git exclude UserInterfaceState.xcuserstate

Elnur Abdurrakhimov그의 답변 에서 언급했듯이 모든 유사한 프로젝트 에서이 파일을 제외해야하는 경우 전체적으로 제외하십시오.

echo UserInterfaceState.xcuserstate >> ~/.gitignore

그러나 " * .xcuserstate를 체크인해야합니까? " 에서 언급했듯이 해당 저장소의 사용자가 무시해야하는 파일 유형 인 경우 실제로 저장소 맨 위에 .gitignore 버전을 지정합니다. 다음과 유사한 내용으로 :

*.xcuserstate 

이렇게하면 해당 저장소의 사용자는이 파일이 존재하고 생성된다는 사실조차 인식하지 못할 것입니다 (이름이 무엇이든간에). 절대로 표시되지 않습니다 git status.

또는 전역 또는 일반 GitHub 파일 과 같이 버전이 지정된 파일 에서 완전히 무시할xcuserdata/ 수 있습니다 ..gitignoreObjective-C.gitignore


당신은 GIT의 전설입니다! 항상 귀하의 답변이 가장 유용합니다.
Jad Chahine 2016-06-05

@JadChahine 감사합니다. 기꺼이 도와 (적어도 그 답을 쓰는 나에게 자식을 배울 수)
VonC

@tymac 정답이 아닙니다;) 저는 정기적으로 방문합니다 ( meta.stackexchange.com/questions/122976/… )
VonC

9

프로젝트의 각 개발자가 해당 도구를 사용해야하는 경우가 아니라면 도구 별 파일을 프로젝트 파일에 넣어서 는 안됩니다.gitignore .

대신 .gitignore홈 디렉토리에 개인 전역 파일을 만들고 활성화하십시오.

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

이제 개발 도구에서 생성 한 .gitignore파일을 파일에 넣을 수 있습니다.


6

일반적으로 .gitignore프로젝트의 루트 디렉토리에 파일 을 포함하는 것이 가장 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.