.gitignore 써서 커밋 가볍게 하기
- 깔끔하게 코드 공유하기, 숨겨야하는 파일 숨기기!
따라하기
준비물
- 깃허브 데스크탑
- 이클립스 (java IDE)
샘플 자바 프로젝트 만들기
이런 구조의 자바 프로젝트가 있다
.
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── bin
│ ├── HelloWorld.class
│ └── Tmp.class
├── src
│ ├── HelloWorld.java
│ └── Tmp.java
├── .gitignore
├── .classpath
└── .project.java 파일은 컴파일 과정을 통해 .class 파일이 된다
코드를 공유할때 java파일만 있어도 충분히 공유 받은 사람이 컴파일해서 사용할 수 있다
.class 파일은 공유할 필요가 없는 것이다
- .gitignore 파일이 빈파일이라고 하면 총 8개의 파일이 트랙된다
.gitignore에 *.class추가하기
1 | *.class |
- .gitignore 에 위 내용을 추가하면
- 이렇게 .class 파일이 빠지고 6개 파일만 트랙된다
- 이렇게해서 내 로컬에는 남아있지만 깃에서는 무시된다
깃허브 데스크탑에서 gitignore 파일 추가하기
- Tmp.java는 내가 혼자 막 테스트하느라 임시로 생성한 파일이라고 해보자
- 다른사람이 봐도 아무 의미가 없는 파일이라면 .gitignore에 추가해준다
- 깃허브 데스크탑에서 우클릭으로 무시 목록에 추가해보았다
- 그러면 이렇게 자동으로 .gitignore이 업데이트 된다
이렇게 Tmp.java가 무시되어 5개만 트랙되는 모습니다
이런식으로 특정 파일을 골라서 무시할 수 있다
이제 init이라는 커밋 하나를 해보겠다
이미 커밋한 파일 gitignore하기
- HelloWolrd.java를 수정했다.
- 근데 HelloWolrd.java도 .gitignore에 추가해야할 거 같아서 Tmp.java와 같은 방법으로 무시하기를 했는데…
- .gitignore에 분명이 추가되었지만 여전히 트랙되고있다…
- 이미 한번 커밋된적이 있는 파일들을 새로이 .gitignore에 추가했을때 생기는 문제다
- 이럴 때는 터미널에
git rm -r --cached .
명령을 통해 캐시를 삭제하고..
1 | git rm -r --cached . |
- 깃허브 데스크탑으로 돌아와보면 이렇게 제외되있는걸 확인할 수 있다
- 초록색 + 표시는 무시해도된다. 이미 커밋되었지만 캐시가 삭제되서 다시 나타난 거다
여기까지 커밋 내역
팁
- 이렇게 하나씩 수동으로 무시할 파일을 지정하는 방법이 있지만
- 프로젝트 구조가 비슷하기 때문에 사람들이 미리 정의해둔 .gitignore을 쓰면 편리하다
- 깃허브 데스크탑에서 로컬 저장소를 생성할때 gitignore을 설정하는데 그렇게 쓰는 방법도 있고,
- https://www.toptal.com/developers/gitignore 여기서 자신이 어떤 언어를 쓰는지, 어떤 IDE를 쓰는지에 따라서 자동 생성해준다
.gitignore 써서 커밋 가볍게 하기
https://chinsun9.github.io/2020/09/24/gitignore-써서-커밋-가볍게-하기20200924/