git global gitignore 를 하는 방법을 알아봅시다.

GIT 2022. 8. 16. 23:37

 안녕하세요. 이번 시간에는 git에서 제외할 파일을 global하게 설정하는 방법을 알아봅시다. .gitignore의 경로하고 .gitconfig의 경로만 조심하면 크게 어렵지 않습니다.

 


 예를 들어, 제 컴퓨터에서 https로 접속하기 위해, crt 파일과 key 등을 세팅할 수 있습니다. 그런데, 다른 사람들이 이런 파일들을 모두 무시해야 하는 것은 아닐 겁니다. 혹은 윈도우에서의 thumbs 파일이, mac 환경에서는 없을 수도 있습니다. 이럴 때 global하게 어떠한 파일들을 무시하게 할 수 있는데요. 문서에 따르면, core.excludesFiles 옵션이 어떤 패턴을 무시할 것인지 적어주어서, 해당 패턴들과 매치되는 것들을 무시하게 해 줍니다.

 

 

 git config를 쳐 보면, 명령어 설명들이 나오는데요. 먼저 --global은, 전역 config file을 쓴다는 의미입니다. .gitconfig 파일을 의미합니다.

 

 

 다음에, --get은 세팅값을 얻어오기 위해서 사용합니다.

 

 제 프로젝트 중 일부입니다. .env 파일은 무시되고 있는 것이 보이는데요. a.crt도 같이 무시하고 싶어요. 가장 간단한 방법은 그림에 보이는 .gitignore에 *.crt라는 패턴을 추가하면 됩니다만, global하게 무시하고 싶습니다.

 

 먼저, home 폴더로 갑니다. 윈도우는 git bash로 켰을 때 ~만 있으면 됩니다.

 

 다음에, core.excludesFiles에 세팅된 값을 보기 위해 git config --global --get core.excludesFile을 입력하였습니다. 그랬더니 아무것도 없네요.

 

 

 .gitignore에 *.key랑 *.crt를 추가한 다음에 저장합니다. 이 코드는 .key로 끝나는 패턴과 .crt로 끝나는 패턴을 무시합니다.

 

 

 다음에, excludesFile에 '~/.gitignore'를 추가해 줍니다. 명령어는 git config --global core.excludesFile '~/.gitignore' 입니다. 이는 현 위치의 .gitignore 파일에 있는 패턴들을 전역적으로 버전 관리 시스템에 추가하지 않겠다는 것을 의미합니다.

 

 

 이제, 다시 들어가 보면, a.crt가 무시되었음을 볼 수 있어요. 프로젝트 내의 .gitignore에 추가하지 않았는데도요. 이는 전역으로 .crt 파일을 무시하라고 세팅했기 때문입니다.

 

 

  홈 폴더에 있는 .gitconfig를 보면, excludesFile에 ~/.gitignore가 들어가 있음을 볼 수 있어요.

 


 여기서 추가 질문. 만약에 홈 폴더에 있는 .gitignore를 삭제하고, 내 문서라는 폴더에 .gitignore를 추가하면 어떻게 될까요?

 

 Documents에 .gitignore를 추가합니다. 똑같이 .crt로 끝나는 패턴과 .key로 끝나는 패턴을 무시합니다.

 

 

 다음에, core.excludesFile에 ~/.gitignore를 추가합니다.

 

 

 그랬더니 a.crt가 버전 관리 시스템에서 무시되지 않음을 볼 수 있어요. 이는 gitconfig가 바라보는 파일이 Documents 내에 있는 깃 이그노어 파일인 .gitignore가 아니기 때문입니다.

 

 

 그러면 어떤 깃그노어 파일을 바라보고 있을까요? chokw 안에 있는 .gitignore를 바라보고 있을 겁니다. ~는 해당 파일이 있는 디렉토리인 Users의 chokw를 의미하기 때문입니다.