본문 바로가기
utils/git and github

[git] .gitignore : 특정 resources를 git으로부터 격리.

by ds31x 2023. 12. 30.

.gitignore 파일을 통해 특정 resources (보통 file 또는 directory)를 git으로부터 격리시킬 수 있음.

.gitignore 파일은
일종의 text 파일로서
git으로 격리할 resources의 이름 또는 패턴을 리스트로 가지고 있음.

 

여기서 격리라는 것은 git 에 의해 관리되지 않는 것을 의미한다.

일반적으로 격리하는 파일들은 다음과 같은 경우에 속한다.

  • 사용자 암호와 같이 repository에 저장되어서는 안되는 보안과 관련된 정보를 가진 경우.
  • 개발환경에 의해 자동으로 생성되는 파일들 (소스로 관리될 필요가 없는 라이브러리 포함)
  • 지나치게 큰 용량을 가지거나 소스로 관리되지 않아도 되는 고정된 바이너리 파일들

프로젝트에 따른 자동 생성

다음의 URL로 가서 해당 프로젝특의 개발 언어나 환경 등을 기재하면 자동으로 .gitignore파일을 만들어줌.
만들어진 .gitignore파일을 생성된 git으로 관리되는 프로젝트의 최상단 디렉토리에 위치시키면 됨.

 

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

 

gitignore.io

Create useful .gitignore files for your project

www.toptal.com


작성법

git init으로 생성된 git으로 관리되는 프로젝트의 최상단 디렉토리에 .gitignore라는 이름의 파일을 생성.

.gitignore
. period로 시작하기 때문에

linux등에서는 기본적으로 숨겨짐.

 

해당 파일에 각 행마다 격리할 resource를 지정하는 이름 또는 패턴을 기재하면 됨.

특정 resources를 지정하는 패턴의 작성 방법은 다음과 같음.


특정 파일명 지정

file_name.file_ext

git 으로 관리되는 프로젝트의 모든 하위 디렉토리의 해당 파일명(확장자 포함)에 해당하는 resource 모두 격리됨.


특정 path에 있는 특정 파일 지정.

/path/file_name.file_ext

특정 path 내의 해당 파일명과 확장자를 가지는 resource를 격리.


특정 확장자(extension) 지정.

*.file_ext

git 으로 관리되는 프로젝트의 모든 하위 디렉토리에서 해당 extension을 가지는 모든 resource를 격리


이름으로 지정.

file_or_directory_name

해당 이름을 가지는 모든 파일과 디렉토리를 격리.


특정 디렉토리 지정.

directoroy_name/

뒤에 놓인 / (slash)가 디렉토리임을 의미하며, 해당 디렉토리 내의 모든 resources를 격리시킴.


참고

  • ! 느낌표로 시작할 경우, 해당 패턴은 격리 시키지 않는 예외임을 의미한. 다른 행에서 지정한 패턴에 속하더라도 git이 격리시키지 않음.
  • * asterisk는 0개 이상의 모든 문자를 의미하며, 각 패턴에서 사용가능함.
  • ** asterisk가 두 개인 경우는 주로 path를 지정할 때 중간에 나오며 앞서 기재된 디렉토리 밑의 모든 하위 디렉토리를 의미함.
    • 예를 들면 logs/**/*.txtlog 디렉토리의 하위 디렉토리에 있는 확장자 .txt 를 가지는 모든 파일을 격리시킴.
728x90