프로젝트를 만들때 깃허브에 Git-Flow방식을 사용하여 올렸습니다.

깃허브에 브랜치 생성 및 커밋 pr 작업을 소스트리 프로그램을 이용하곤 하는데

매번 작업물과 관계없는 파일이 커밋내용에 올라가곤 했습니다.

심지어 아무것도 작업하지 않은상태에서 다른 브랜치로 체크아웃을 하려고 해도

작업물이 남아있어서변경이 안되는 번거로움을 겪었습니다.

 

특히 이 UserInterfaceState파일이 자꾸 생성되곤 했습니다.

 

이번 기회에 gitignore을 사용해보려고 합니다.

 

.gitignore

gitignore은 깃허브에 원격 저장소에 저장할 파일중 제외할 목록을 담고 있는 파일입니다.

따로 이름을 지정하지 않고 .gitignore 확장자로 생성합니다.

작성자는 위처럼 상시 재구성되며 값이 변경되어 커밋목록에 올라오는 파일을 제외하기 위해 사용하려고 하지만

다른 많은 목적들이 존재합니다.

 

- API Key같은 보안유지가 필요한 값을 담는 파일

- 용량이 매우 커서 원격저장소에서 받는것보다 다른 다운로드방법이 더 빠르고 간편한 경우

 

또한 gitignore의 파일형식은 .gitignore이므로 txt 파일로 만들어지지 않도록 유의해야합니다.

.gitignore의 파일 위치는 프로젝트의 최상단 위치에 존재하도록 구성합니다.(readme랑 같은 위치)

 

 

.gitignore 생성

파일을 만드는 방법은 텍스트파일이 아닌 ".gitignore"로 만들어주면 됩니다.

 

점자(.)로 시작하는 파일은 시스템파일로 인식하여 숨김처리가 되어 있을 수 있습니다.

이렇게 gitignore을 생성하면 빈파일로 구성이 됩니다.

이 파일을 프로젝트 폴더의 최상단위치에 넣어주면 됩니다.

 

.gitignore 구성

제외할 목록을 지정해보도록 합니다.

 

- 특정 폴더 모두 제외시키기

/폴더이름
ex) /Secrets

- 특정 확장자 모두 제외시키기

*.확장자
ex) *.xcuserstate

- 특정 파일 제외시키기

파일명
폴더위치/파일명
ex) UserInterfaceState.xcuserstate
ex) xcuserdata/UserInterfaceState.xcuserstate

 

또한 gitignore은 템플릿이 존재합니다.

https://www.toptal.com/developers/gitignore

 

gitignore.io

Create useful .gitignore files for your project

www.toptal.com

 

자신의 프로젝트에서 사용하는 라이브러리, 언어에 맞춘 gitignore을 생성해주는 사이트 입니다.

 

*주의

  • gitignore은 제외할 파일이 생성되기 전에 제외목록을 지정해줘야 적용됩니다.
  • 그럼에도 불구하고 이미 만들어진 파일을 제외시키려면 파일을 제거하고 다시 생성해주면 됩니다.
  • gitignore의 확장자는 txt가 아닌 .gitignore입니다.
  • gitignore의 위치는 깃허브 원격폴더의 최상단위치입니다.

 

소스트리에서 gitignore 적용하기

설정 -> 고급 -> 저장소별 무시 목록 [편집]

 

해당 파일을 우클릭하여 무시 선택하기

 

gitignore에 설정만 해주어도, 설정 이후의 새로운 파일이 만들어지면 자동으로 제외됩니다.

+ Recent posts