728x90
최근 간단한 협업 프로젝트를 하면서 .gitignore때문에 고생한 적이 있었다.
그래서 개념을 확실하게 잡아두고, 다음부터는 .gitignore때문에 스트레스를 받지 않고싶어서 게시글을 작성한다.
내가 겪었던 상황을 그대로 재현했고, 이를 해결하는 과정도 담았다
초기 세팅
- 폴더를 2개 만들어줬다
- src 폴더는 소스파일이 올라가는 곳으로, 깃허브에 올려야하는 파일들이 저장된다
- bin 폴더는 컴파일된 .class파일이 올라가는 곳으로, 굳이 깃허브에 올릴 필요 없는 파일들이 저장된다
- 각각 올려야하는 파일, 올리면 안되는 파일을 넣어두고 초기 커밋했다
clone 받기
- 일단 클론을 받고 내가 수정할 곳을 수정해준다
- bin 디렉토리 내부 파일은 변경시켰고
- src파일에는 새로운 파일을 추가시켰다
- i_want_push2 파일을 추가했다
.gitignore 파일 추가하기
- 가장 최상위 디렉토리에 파일을 하나 만들어준다
- 내부에는 bin디렉토리를 올리지 말라고 적어준다
- bin 디렉토리는 ignore해라는 의미
.gitignore 적용시키기
git rm -r --cached .
git add .
git commit -m "커밋메시지"
git push origin main
- 캐시된 파일을 삭제하고
- 모든 파일을 add 해주고 커밋 푸쉬한다
git add 후 git status 명령어 수행 시 bin파일이 add 되지 않는다면 정상적으로 작동하는 거다.
- gitignore가 추가되고, 먼저 올라간 bin디렉토리가 삭제되어 있다면 정상인거다.
사실 저 상황에 gitignore를 수정하는 건 어려운 내용은 아니었는데, 미리 올라가있는 파일이 너무 많아서 프로젝트가 망가질까봐 무서웠다. 같이 프로젝트를 한 페어는 git 에 익숙해서 git stash를 사용하면서 해결했는데 나는 아직 부족해서 굉장히 헤맸다.
지금 미리 예방주사를 맞았으니 다음에는 당황하지 않고 문제를 해결할 수 있을 것이다!
728x90
'협업 > Git' 카테고리의 다른 글
[GitHub] 커밋 메시지 바꾸기: amend, rebase, cherrypick (1) | 2023.11.01 |
---|---|
[GitHub] 테코톡 보면서 깃허브 공부하기 (0) | 2023.11.01 |
Angular commit 메시지 가이드라인 정리 (0) | 2023.10.19 |
.gitignore 적용 안될 때 대처법 (0) | 2023.08.13 |