저도 오랫만에 커밋하다보니 실수가 자꾸 생기는것 같아서 정리할겸
공유해보아요!!
5ba3db6 Fix failing CompositePropertySourceTests
84564a0 Rework @PropertySource early parsing logic
e142fd1 Add tests for ImportSelector meta-data
887815f Update docbook dependency and generate epub
ac8326d Polish mockito usage
위 커밋명들을 보면 몇가지 규칙을들 찾을 수 있어요
일단 쉽게 풀어서 설명해보면 커밋명은 영어로 하는것이 원칙입니다.
코드가 외부로 공유될 수 있기때문에 영어로 하는 것이 좋겠죠?
또한 한글보다 영어로 기술하는 것이 조금더 익숙해진다면 알아보기가 쉬워지고 규칙적으로 작성할 수 있게됩니다.
예를들어볼까요?
Fix failing CompositePropertySourceTests
위와 같은 커밋명을 보고 몇가지를 유추할 수 있어요 .
Fix - 뭔가를 고쳤다.
failing Composite~ - 이에 해당하는 걸 고쳤다.
저같은 경우에는 다음과 같이 나름의 규칙을 정해두고 커밋을해요.
당장 적용하기는 어렵겠지만, 나중에 포트폴리오로 제출할때도 저장소도 함께 제출하는 경우가 매우 많아서 아마 지금부터 힘들어도 연습하시면 좋은 결과가 있을것 같아요~
추가적으로 커밋을 하는 시점또한 암묵적인 규칙이 있어요!!
보통은 하나의 기능을 추가하거나, 페이지를 완성했을 경우에 커밋을 진행하게 되는데, 이게 안지켜지면 어떤 단점이 있는지 설명해드릴게요.
- 일단 이전 커밋으로 롤백을 해야하는데 커밋이 여러개로 나눠져 있다면 롤백하는 시점을 정하기가 여러워지고 작업량또한 많아지게 됩니다.
- 두번째는 만약 관리자가 "커밋이 생겼구나? 한번 확인해봐야지~"라고 생각하고 커밋을 확인했는데 커밋내용이 한두줄밖에 없다면 힘든상황이 발생하고 말거에요..
- 두번째와 관련해서 pullRequest라는걸 깃 관리자에게 요청할 일이 꼭 생길거에요. 이때도 좀더 수월하게 확인할수 있도록 커밋은 꼭 뭔가가 완성되었거나 수정이 완료되었다고 생각될때 진행해 주면 됩니다!
아마 어려우실 수도 있지만, 지금부터 안좋은 습관을 만드는것보다는 좋은습관을 만드는게 좀더 나중에 좋을것 같아서 말씀드려요!!
당장은 복잡하게 느껴지실수도 있지만, 이렇게 하면 꼭 도움이 되실거에요!!
참고로 개발끝나고 2년정도 서비스하며 유지보수한 velog의 커밋량이 600개 정도이니 어림잡을 수 있겠죠..??
꿀팁 정말 감사드립니다!!
명심해야겠네요 :)