달나라 노트

16. gitignore (특정 파일만 git add에서 제외하기) 본문

Github

16. gitignore (특정 파일만 git add에서 제외하기)

CosmosProject 2021. 1. 15. 23:02
728x90
반응형

 

 

.gitignore

github를 이용하다보면 다음과 같은 상황에 직면할 수 있습니다.

저는 보통 홈페이지를 firebase를 이용하여 hosting하고있습니다.
이 Directory에는 firebase의 hosting을 위한 파일들과 웹페이지를 구성하는 code 파일들이 있습니다.
또한 pycharm editor를 통해 python 프로젝트를 설정했고 이를 위해 venv 폴더도 있습니다.

사실 제가 github에 업로드하여 백업을 해야하는 것은 웹페이지를 구성하는 code 파일들 뿐입니다.
그러나 git add . 명령어를 통해 많은 수정된 파일들, 추가된 파일들을 한 번에 stage에 올리면 위에서 말했던 firebase의 hosting 파일, venv 파일등 굳이 백업 관리가 필요 없는 파일들까지 add됩니다.

이런 경우에 특정 Directory나 File들만 git add에서 제외할 수 있을까요?
가능합니다. 바로 다음 내용을 보시죠

 

 

1. git add에서 제외할 파일들 선정하기.
git_test라는 디렉토리 안에 git init이나 clone을 하여 로컬 git 저장소를 형성하였다면 git_test/.git 처럼 .git이라는 폴더가 생성됩니다.
git의 이용을 위한 파일입니다.



위 이미지가 D:/space/라는 디렉토리에 git clone을 하여 git hub를 이용한 백업 관리를 하고 있는 파일/폴더등의 내용입니다.

일단 여기서 public이라는 디렉토리 안에는 이 웹페이지를 구성하는 모든 code들이 담겨있습니다.
즉, 해당 디렉토리 안에 있는 모든 내용들은 git에 의해 백업 관리가 되어야 하죠.

그리고 .git 폴더는 git 관리를 위해 생성되는 폴더이므로 굳이 무시하지 않아도 백업되지 않을 것입니다.

여기서 유심히 봐야할 것은 .gitignore라는 파일입니다. 이것이 바로 내가 git add에서 무시할 내용을 담고있는 파일입니다.
따라서 위 파일도 git을 관리하는데 필요한 파일 중 하나기 때문에 상관이 없죠.

위 파일들 말고는 다 무시되어야 할 내용입니다.

2. .gitignore



위에서 봤던것처럼 git add에서 제외할 파일들을 선정하려면 .git 디렉토리가 있는 동일한 위치에 .gitignore(확장자 없음)라는 파일을 만듭니다.
메모장을 이용하여도 되고, 어떤 코드 에디터를 이용하여 생성해도 됩니다.

해당 파일에 저는 위처럼 내용을 적었습니다.
위 내용을 한 번 봅시다.

# manually ignored
어떤 내용 앞에 #을 붙이면 이것은 무시됩니다.

.firebase/
.firebase라는 이름의 디렉토리와 그 하위 디렉토리나 파일들이 모두 git add에서 무시됩니다.
이렇게 어떤 디렉토리와 그 디렉토리 안에 있는 모든 파일을 무시하려면 가장 상위의 디렉토리 이름과 그 뒤에 슬래쉬(/)를 붙여줍니다.

.firebaserc
.firebaserc라는 이름의 파일을 git add에서 무시합니다.

위같은 내용을 .gitignore 파일에 적어두고 git add .을 하면 해당 파일들은 모두 무시될 것입니다.
git status로 현재 상태를 봐도 해당 파일들이 untracked 상태이거나 stage에 오르지 않은 상태라거나 하는 알림이 뜨지 않습니다.

 

 

 

728x90
반응형

'Github' 카테고리의 다른 글

Github - remote repository (리모트 저장소)  (0) 2021.05.10
17. git rm --cached -r file_name (github에 올린 파일 제거하기)  (0) 2021.01.15
15. Branch merge  (0) 2021.01.15
14. Branch 정보 확인  (0) 2021.01.15
13. Branch 생성  (0) 2021.01.15
Comments