자동생성 사이트 Gitignore.io
검색창에 운영체제, 개발환경(IDE), 프로그래밍 언어를 검색하면 .gitignore 파일을 자동으로 생성해 준다.
사용자가 하나씩 파일을 정리하기도 힘들고, 보안성 파일, 불필요한 파일들 일일이 정리하기 힘들다.
물론 이 경우 git rm 를 통해 일부 파일만 제외시키면 되지만, 모든 커밋에 그런 행동을 하는 것은 정말 힘들다.
따라서 우리는 .gitignore 이라는 디렉토리를 만들어 무시할 파일을 넣어 줄 수 있다.
여기서 일부 제외할 파일
추가로 gitignore를 사용하는 이유 중 큰 부분이 이 .idea라는 폴더 때문인데, 이에 관련 설명은 아래에 첨부하겠다.
작업을 완료한 후에 Git 을 commit 하려할때 .idea 란 폴더 아래 작업 내용물들이 추가되는 경우가 있다.
.idea 폴더는 IntelliJ 의 IDE 옵션(프로젝트별 설정값)을 저장하는 폴더라고 생각하면 된다.
여기서 중요한건 IDE 의 각 옵션은 작업자의 컴퓨터 환경에 맞춰서 변경된다. 설정이 본인에 맞춰 옵션이 설정되어 있는데 이걸 다른 작업자에게 공유하면 소스 오류 발생할 수 있어 주의 해야한다.
따라서 다른 작업자가 소스를 받을때 영향을 주지않기 위해 .gitignore 에 추가 한다.
# .gitignore 파일
*.idea
그럼 위에 글을 정리해서 설명하겠다.
표현 | 의미 |
---|---|
#, 빈라인 | #은 주석을 의미하며, 빈라인은 아무런 영향을 주지 않습니다. |
*.a | 확장자가 .a 인 모든 파일을 무시합니다. |
folder_name/ | 해당 폴더의 모든 파일을 무시합니다. |
folder_name/*.a | 해당 폴더의 확장자가 .a 인 모든 파일을 무시합니다. |
folder_name/*/.a | 해당 폴더 포함한 하위 모든 폴더에서 확장자가 .a 인 모든 파일을 무시합니다. |
/*.a | 현재 폴더의 확장자가 .a 인 모든파일을 무시합니다. |
특정 파일들에 대한 규칙을 저장소에 커밋 없이 ignore 처리하기
추가적으로, Git 이 관리중인 (tracked) 파일들에 대한 로컬 변경사항들을 다음과 같은 방법으로 Git 의 글로벌 설정을 변경하지 않고도 ignore 처리할 수 있다.
git clean -X 명령어를 이용하면 ignore 처리된 파일들을 제거할 수 있다.
현재 작업 디렉토리에 존재하는 ignore 처리된 파일들의 목록을 표시한다
$ git clean -Xn
위 명령어에 의해 나타난 파일들을 삭제한다
$ git clean -Xf
뒤에 x에 대한 주의 사항이 있다
(강조)ignore 처리된 파일뿐만 아니라 Git에서 관리하지 않는 (untracked) 파일까지 제거하려면(강조)
관련글 : https://inpa.tistory.com/entry/GIT-⚡%EF%B8%8F-gitignore-자동-생성#