[알쓸아지] git ignore 개념과 사용 방법

챈스·2023년 7월 30일
2

알쓸아지

목록 보기
2/2

git ignore에 대해 알아보자

🙄 git ignore란?

  • ignore 사전적 의미: 무시하다, 못 본 체 하다.
  • 사용자가 원하지 않는 파일,폴더들을 git 버전 관리에서 제외하겠다.

git ignore 사용하는 이유?

  • 보안 및 개인정보 보호
    -비밀번호, 인증 토큰, API 키 등과 같이 보안에 민감한 정보가 포함된 파일
  • 임시 파일 및 로그 파일
    -개발 시스템에서 발생하는 임시 파일이나 로그 파일은 git저장소에 저장할 필요가 없으므로, 이러한 파일들을 무시하여 저장소 관리를 깔끔하게 유지할 수 있음
  • 혹여나 발생할 수 있는 데이터 충돌로 인한 손실 방지
  • 내가 작업하는 공간에는 필요하지만 원격 저장소에는 제외하고 싶은 경우

쉽게 말해, git ignore는
"남에게 보여주고 싶지 않은(혹은 보여주면 안되는) 내용과 불필요한 내용들을 push할 때 제외하는 것"



git ignore 사용 방법

  • git ignore를 설정할 수 있는 방법은 다양하지만, 간단하게 설정할 수 있는 방법은 아래 사이트에 접속하여 프로젝트에 맞는 .gitignore 파일을 생성 해준다.
    https://www.toptal.com/developers/gitignore

  • 현재 사용중인 개발 환경을 검색하여 추가하고, 생성하면 됨
    예시) windows(운영체제), Visual Studio Code(개발환경) 등..
    예외) 검색해도 안나오면 없는 것

  • 위 사이트는 자신의 프로젝트 환경에 맞는 git ignore파일을 만들어 줌


git ignore 적용 방법

위 사이트에서 생성된 git ignore를 에디터에 적용하는 방법

  • .git이 있는 디렉토리에 .gitignore파일 생성 (=프로젝트 최상위 위치)

  • .gitignore파일 안에, 위 사이트에서 생성된 내용 복사 붙여넣기

  • 추가로 ignore 하고 싶은 파일 or 폴더가 있는 경우 아래와 같이 작성 후 저장

예를 들어 test.txt파일과 test 폴더를 ignore 한다고 가정했을 때,
무시할 파일 및 폴더는 아래와 같이 작성.
<!--gitignore 파일에서 # 뒤에 쓰는 내용은 주석처리 됨-->

## 파일 무시
test.txt

## 다음과 같은 확장자는 전체 무시
*.text
*.exe
*.zip

## 폴더 무시
test/
  • 저장 후, ignore할 파일, 폴더명이 회색처리된 것을 확인
  • 그리고 add > commit > push

🚨 이미 git에 올라간 파일,폴더인 경우?

  • git의 관리를 받고 있던(commit & push 된 것들) 파일이나 폴더는 .gitignore 파일에 작성하고 add > commit > push 하여도 ignore(무시) 되지 않음

  • 이런 경우, 기존에 가지고 있는 cache를 제거해야 함

## 파일 이라면
git rm --cached test.txt

## 전체파일 이라면
git rm --cached *.txt

## 폴더 라면
git rm --cached test/ -r
  • 다시 말해,
    이미 git에 올라간 파일, 폴더인 경우 위 명령어(캐시 제거)를 먼저 실행하고나서 .gitignore파일을 commit해줘야 ignore됨!

git rm에 대해 더 알아보자

  • rm: remove(제거하다)
    • git rm -r: 원격 저장소와 로컬의 파일 모두 삭제
    • git rm -r --cached: 원격 저장소에서만 파일이 삭제되고, 로컬의 파일은 그대로 유지
  • -r: recursive(재귀적)의 약자. 하위 디렉토리를 포함하여 모든 내용 삭제




[참고]
https://codinglevelup.tistory.com/120
https://okeybox.tistory.com/338
https://kcmschool.com/194
https://webstudynote.tistory.com/114

profile
열정적 끈기의 힘(GRIT)

0개의 댓글