git을 사용하는 이유는 버젼관리, 협업, 백업 등에 용이하기 때문입니다.

 

 한편, 공개 레파지토리에 커밋한 파일은 팀원뿐 아니라 불특정 다수에게 공개되기 마련입니다.

버전관리에 필요없는 파일이나 보안상 문제가 되는 파일, 특히 로그파일 또는 빌드 시스템이 자동으로 만들어낸 파일은 git에서 관리할 필요가 없어집니다.

 

 필요한 파일들만 git add 하면 되지 않느냐? -> 프로젝트를 진행하다보면 파일의 양이 워낙 방대해져 관리하기 힘들어집니다.

이러한 문제를 해결하기 위해 .gitignore 을 활용할 수 있습니다.

.gitignore 파일을 만들고 그 안에 무시할 파일의 패턴을 적어 파일을 untracking할 수 있습니다.

 

 

 

주의할 점 : git add 전에 .gitignore을 포함할 것.

위 그림과 같이 일단 Staged 된 파일은 무시할 수 없으므로, 해당 파일을 삭제하고 다시 올려야 한다.

 

.gitignore 적용하기


특징

  • 프로젝트의 최상위에 위치해야 적용됩니다.
  • 표준 Glob 패턴을 사용합니다. (정규표현식과 모양은 비슷하지만 다른 패턴, 추후 정리 후 링크)
  • 파일 내 # (우물정)로 시작하는 코드라인은 무시합니다.
  • 파일 내 / (슬래쉬)로 시작하면 하위 디렉터리에 적용되지 않습니다.
  • 파앨 내 / (슬래쉬)로 끝나면 해당 디렉터리를 적용합니다.
  • 파일 내 ! (느낌표)로 시작하는 패턴의 파일은 무시하지 않습니다.

 

적용 (먼저 github에 remote 된 레파지토리가 있는 환경)

NPM TEST 폴더 현재 상황

 

1. .gitignore 파일을 해당 디렉토리 내에 생성하고, 무시할 파일 목록을 작성합니다.

(현재 node_modules 폴더와 DS_STORE 파일을 무시할 예정입니다.)

 

 

2. $ git add . 로 파일들을 추가합니다.

 

 

3. $ git commit, $ git push origin master를 통해 레파지토리에 파일을 스테이징 합니다.

 

 

4. 결과물을 즐긴다. (node_modules와 DS_STORE는 트래킹하지 않는 것을 볼 수 있습니다.)

+ Recent posts