Introduction

When you make commits in a git repository, you choose which files to stage and commit by using git add FILENAME and then git commit. But what if there are some files that you never want to commit? It's too easy to accidentally commit them (especially if you use git add . to stage all files in the current directory). That's where a .gitignore file comes in handy. It lets Git know that it should ignore certain files and not track them.

 

What Kind of Files Should You Ignore?

  • Log files
  • Files with API keys/secrets, credentials, or sensitive information
  • Useless system files like .DS_Store on macOS
  • Generated files like dist folders
  • Dependencies which can be downloaded from a package manager
  • And there might be other reasons (maybe you make little todo.md files)

① .gitignore이란?

  • 버전 관리를 할 필요가 없는 파일이나 디렉토리는 Git에게 무시하라고 알려줘야하는데 이 때 사용하는 것이 바로 .gitignore 파일
  • Project에 원하지 않는 Backup File이나 Log File , 혹은 컴파일 된 파일들을 Git에서 제외시킬수 있는 설정 File이다.

 

② gitignore 파일 생성

 

프로젝트 안에 .gitignore 파일을 생성

$ touch .gitignore

.gitignore 파일 자체도 일반 파일처럼 Git이 추적해야하는 파일로 나온다.

$ git status
On branch main

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	.gitignore
	a.txt
	b.txt
	c.txt

nothing added to commit but untracked files present (use "git add" to track)

 

③ 특정 파일을 버전 관리에서 제외

프로젝트의 3개의 텍스트 파일 중에서 b.txt 파일을 버전 관리에서 제외시키려면?

 

.gitignore 파일에 b.txt를 추가

$ echo "b.txt" >> .gitignore
$ cat .gitignore
b.txt

이제 다시 Git에게 현재 상태를 물어보면 b.txt는 추적할 파일에서 빠져있는 것을 볼 수 있다.

$ git status
On branch main

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	.gitignore
	a.txt
	c.txt

nothing added to commit but untracked files present (use "git add" to track)

현재 변경 사항을 스테이징(staging) 영역에 추가하고 커밋(commit)해보면 다음과 같이 b.txt 파일이 제외된 것을 볼 수 있다.

$ git add . && git commit -m "ignore b.txt"
[main (root-commit) be4069a] ignore b.txt
 3 files changed, 2 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 a.txt
 create mode 100644 c.txt

 

④ 무시된 파일 수정

 

무시된 b.txt 파일에 한 번 내용을 추가해보면,

$ echo "BBB" >> b.txt
$ cat b.txt
BBB

Git은 b.txt의 변경 사항을 신경쓰지 않는 것을 알 수 있다.

$ git status
On branch main
nothing to commit, working tree clean

 


[출처]

 https://www.daleseo.com/gitignore/

https://www.pluralsight.com/guides/how-to-use-gitignore-file

+ Recent posts