-
How can I adjust git ignore file when I develop my program / 개발 진행 중에 gitignore 파일을 수정하였을때 대처법Backend/GIT 2022. 5. 9. 19:29
프로젝트를 진행하는 와중에 git ignore에 추가할 파일이 생기는 경우가 있습니다.
혹은 프로젝트 초기에 놓치셨을 수도 있죠. 그 놓치고 있는 파일이 iml이라고하면 큰 문제가 되지는 않을 텐데요.
(하지만 계속 신경 쓰이겠죠?)
프로젝트 초기에 깜빡하고 git ignore 파일에 build 한 후의 산출물 디렉토리(WEB-INF 폴더나 target 폴더)들에 대하여 ignore 처리를 하지 않은 경우 추후 굉장히 신경이 쓰이실 수 있습니다.
commit 후 push에 대한 처리도 오래 걸리구요.
결론은
1. 프로젝트 진행 과정 중에 원하지 않는 파일들이 commit, push 되었고, 이 파일들을 중간에 git ignore에 추가하였음.
2. 하지만 git ignore에 아무리 추가해봐도 적용안되고 commit하면 다시 파일이 추적됨.
3. 또한 프로젝트 진행 과정 중에 자신이 commit하여 push 했던 원격 브렌치에 내가 원하는 파일들이 사라지기를 바람.
1. git inore로 이동
(intelliJ의 경우 소스코드를 보는 방식이 packages로 되어있는 분의 경우에 project단위로 변경해주셔야 ignore파일이 보입니다)
2.추적을 금지하고 싶은 디렉토리 추가
(아마 아래와 같이 등록하시겠죠)
!/*.iml !/*/*.iml . . . . happy-home-repair/target/
3. 아래 명령어로 케쉬를 지우고 다시 모든파일을 stage에 올리고, commit 후 push 합니다.
git rm -r --cached . git add . git commit -m "git refresh" git push
의외로 간단하다고 느끼실 것 같습니다.
그리고, tracked, untracted 개념이기 때문에 commit에 중점을 두고 생각해주시기 보다는
'내가 어떤 파일을 추적하고있고, 어떤파일을 주간에 추적에서 제외 시키면될까?'의 관점에서 생각해주시면 될것 같습니다.
아래 두줄이 핵심입니다.
git rm -r --cached . git add .
* 주의할 점
여기까지 처리하였으니 끝이 아닙니다. 추후 습관화해야되는 부분에 대해서 간략하게 이야기 하고자 합니다.
만약 제가 A개발자고, 다른 B개발자가 git ignore에 추적을 금지하고 싶은 경로를 넣었을때에는
git rm -r --cached . git add .
위 과정을 다시 진행해주셔야 합니다.
그래서 git fetch, git pull을 받으셨을 때 gitignore 파일을 확인하시는 것을 습관화 하시면 개발하실 때에 큰 도움 되실 것 같습니다.
도움받은 블로그링크 및 stack over flow 첨부해둘게요.
1.
https://stackoverflow.com/questions/3833561/why-doesnt-git-ignore-my-specified-file/3833675
Why doesn't Git ignore my specified file?
I added the following line to .gitignore: sites/default/settings.php but when I type git status it shows the file as unstaged file. What's the problem? All other patterns work well.
stackoverflow.com
2.
'Backend > GIT' 카테고리의 다른 글