본문 바로가기

생물정보학(바이오인포매틱스)

[27일차] Git & Github 기초 공부 03 :: .gitignore로 특정 파일을 버전 관리에서 제외 하기

 

이번 글에서는 전 글에 이어서 유노코딩 YOUTUBE에서 공부한 git 관련 내용을 복습해보겠습니다.

 

 

[27일차] Git & Github 기초 공부 02 :: 파일을 Working Directory에서 Staging Area, Repository까지 이동시키기

전 글에 이어서 유노코딩을 통해 공부한 Git 관련 내용을 복습해보겠습니다.  [27일차] Git & Github 기초 공부 01 :: 유노코딩 YOUTUBE, 깃 설치부터 기본 깃 명령어 실습까지이번 글에서는 최근에 유노

tkmstudy.tistory.com

 

 

이번 글에서 정리할 건 먼저 깃 설정 파일 '.gitignore'입니다.

 

 

 

.gitignore는 언제 사용할까요? 챗GPT에게 물어봅시다.

 

출처 : 챗GPT

 

 

챗GPT가 말하길, .gitignore 파일은 Git에서 특정 파일이나 디렉토리를 버전 관리에서 제외할 때 즉, Git이 특정 파일을 추적하지 않도록 설정하는데 사용한다고 합니다.

 

다시 말해서, 특정 파일을 Staging Area, 그리고 Repository로 보내는 과정을 거치지 않고 수정사항이 발생해도 무시하도록 지정하는 것입니다.

 

그럼 무시할 즉, 버전 관리에서 제외할 파일 'text2.txt'를 $ touch로 만들어보겠습니다.

 

$ touch text2.txt

 

 

 

 

이제 깃 관리 시스템에다가 .gitignore 파일을 만들겠습니다. 이 파일을 만들지 않으면, 해당 기능을 사용할 수 없다고 합니다.

 

git .gitignore

 

 

 

.gitignore 파일까지 만들어졌습니다. 상태를 봅시다.

 

 

 

두 개의 untracked files가 만들어졌는데 두개 모두 $ git add로 staging area로 보내고, $ git commit으로 repository로 보내겠습니다.

 

 

 

특정 수정 시점으로 되돌릴 때 두개 파일을 구분하기 위해서 각각 다르게 보냈습니다. 한번에 보내려면 전에 봤듯 $ git add .을 활용하시면 됩니다.

 

이제 gitignore에서 버전 관리에서 제외할 파일을 지정해보겠습니다. 이를 위해선 리눅스 명령어 $ nano를 사용해서 다음과 같은 화면을 띄웁니다.

 

$ nano .ignore

 

 

 

여기에다가 버전관리에서 제외할 파일 명을 입력하면 됩니다. 저 같은 경우엔 "text2.txt"를 입력해주었습니다. 

 

 

 

다음으로 저기 왼쪽 하단에 적혀있긴 한데, 'Ctrl' + x를 눌러 Exit를 해줍니다. 

 

 

 

이런게 뜨는데 y를 입력합니다.

 

 

 

이렇게 나오는데 그냥 그대로 두면 될 것 같습니다. 바로 엔터 키를 누릅니다. 그럼 이제 완료가 되는데요, 정말 text2.txt를 수정해도 수정사항이 발생했다고 말하지 않는지 확인해보겠습니다.

 

text2.txt를 열고 아무 말이나 입력해봅시다.

 

 

 

"고양이 가방"이라고 입력했는데, 원래 같으면 $ git status로 상태를 보면 수정 사항이 있는 파일이 생겼다고 나오면서 빨간색 글씨가 나올겁니다. 확인해봅시다.

 

 

 

생각해보니 깜빡하고 .gitignore에 text2.txt를 추가한 변경 사항을 저장안했었네요. '.gitignore'에서의 수정사항을 무시하는 건 아니니까 요 수정사항을 먼저 repository로 보내겠습니다. 

 

 

 

다시 상태를 확인해보겠습니다. 아 그 전에 먼가를 했으니 다시한번 text2에다가 아무말이나 입력해보겠습니다.

 

 

 

이제 정말 수정을 많이 했는데, 이 수정사항을 무시하는지 확인해봅시다.

 

 

 

commit할게 없다고 나옵니다. 무시를 잘 하고 있는 듯 합니다. 이제 다시 버전 관리를 하도록 nano .gitignore를 입력하고, text2.txt를 지우고 저장소에 수정사항을 보내보겠습니다.

 

$ nano .gitignore

 

 

 

지웠구요. Exit하고 변경사항 저장하겠습니다.

 

 

 

그럼 text2.txt를 열고 또 다시 수정해보겠습니다. 그전에 우선 수정 사항이 없는지 먼저 보겠습니다.

 

 

 

없죠? 그럼 text2를 수정하고 수정사항이 생기면, text2를 ignore하지 않은 걸로 볼 수 있겠습니다. 확인해봅시다. 수정은 추가하는 것도 수정이지만 제거하는 것도 수정이죠. "가방"을 지워봅시다.

 

 

 

상태를 확인해봅시다.

 

 

 

수정사항이 생겼네요. 이제 무시하지 않는 걸 확인할 수 있습니다.

 

아래 글을 보니까 이미 git이 추적하고 있는 파일을 무시할 땐 이와 같은 명령어를 추가로 입력하면 된다고 합니다.

 

 

 

[메모장]Github 활용일기 1편

모든 프로그래밍에서 코드 관리는 선택이 아닌 필수라고 생각한다. 최근 배포용 프로그램을 만들기 위한 작업을 하면서 더욱 느끼고 있는 부분이지만, 배포 목적이 아니더라도 코드 관리는 중

medium.com

 

git rm -r --cached .

 

 

여기서 git rm 명령어는 파일을 삭제하는 명령어고 '-r'은 recursive(재귀적)하게 삭제, '--cached'는 원격 저장소에 있는 파일만 삭제를 의미한다고 합니다.

 

자세한 내용은 위의 글을 참고하시길 바랍니다. 그럼 이것으로 유노코딩 YOUTUBE에서 배운 .gitignore 복습을 마치고 다음 글에서는 깃에서 실수에 대응하는 방법에 대해 소개한 영상 복습을 해보겠습니다. 감사합니다!

 

 

 

유노코딩

강의/집필/기타 협업 문의 beansdrawer@naver.com 기업 및 기관 출강 가능합니다. 웹 프론트엔드(HTML, CSS, JavaScript, React)/파이썬/C언어 어린이/청소년을 위한 블록코딩/로봇코딩 강의도 진행합니다-! 문

www.youtube.com