Github

.gitignore

1. 위험성

특정 파일은 git에서 버전 관리 대상에서 제외해야 한다

프로젝트를 업로드할 때 개인키가 프로젝트 폴더내에 있을 수 있고, 이런 중요한 설정 정보는 git 저장소에 추가하지 말아야 한다.

이로인해서 해킹에 대상이 될 수 있고, 심각한 피해를 입을 수 있다.

2. 해결방안

git 에는 이러한 문제를 방지하기 위한 무시 목록을 작성할 수 있다.

.gitignore 에 작성된 파일은 git add 명령시 제외된다.

3. 작성법

.gitignore 의 각 라인에 무시할 파일 또는 디렉토리의 패턴을 적는다.

여러 파일을 한번에 지정할 경우 * 을 사용한다.

1
2
3
jdbc.properties
*.class
*.jar

위와 같이 작성하면 git add 명령어를 실행했을 때 jdbc.properties 파일을 제외하며, .class와 .jar 확장자를 가진 파일을 모두 무시한다.

이미 추가되어 버전 관리중인 파일에는 영향을 미치지 않는다.

4. 응용

만약 .gitignore 목록에 있는 파일을 추가해야 할 경우 -f 옵션을 이용해 추가할 수 있다.

1
git add -f jdbc.properties

.gitignore 에 설정한 내용은 하위 디렉토리에도 동일하게 적용된다.

만약 특정 하위 디렉토리가 다른 ignore 를 적용해야 할 경우 해당 디렉토리에 .gitignore 을 새로 만들어준다.

1
2
*
!jdbc.properties

위와 같은 .gitignore 을 새로 만들어 config 폴더에 넣을 경우, 기본적으로 config 의 모든 파일을 무시하면서 jdbc.properties 라는 파일은 버전을 관리한다. !는 이전의 ignore 패턴을 무효화 하는 문자열이다.

만약 파일명에 ! 가 들어갈 경우 escape 문자인 \ 를 ! 앞에 붙여준다.

5. gitignore.io

사용하는 운영체제, IDE, 언어마다 추가하는 패턴들이 있으며 이를 매번 기억하여 입력하는 것은 매우 귀찮은 일이다.

이런 귀찮은 일을 대신 처리해주는 gitignore.io 라는 서비스가 있다.

일반적으로 사용되는 무시 패턴을 해당 서비스를 통해 작성하고, 추가적으로 필요한 부분만 무시 목록을 작성하면 편리하게 사용할 수 있다.

6. 참고

https://git-scm.com/docs/gitignore

Leave a comment