개발자

커밋 단위를 어떻게 쪼개야 할까요?

2024년 07월 28일조회 100

만약에 컴포넌트를 하나 만든다고 가정하면 기능 하나를 만들때마다 커밋을 올려서 기능 a 추가 기능 b 추가 기능 a부분 수정 기능 c 추가 ... 이런식으로 가야할지 전체적으로 개발을 완료한 다음에 커밋을 올려서 컴포넌트 A a,b,c 기능 추가 컴포넌트 A a 기능 수정 이런식으로 가야될까요? 커밋 단위를 작게 하는게 원칙인건 알겠는데, 전자처럼 하게 되면 커밋이 너무 지저분해질 것 같기도 하고 흐름이 잘 안보이게 되는 것 같고 그렇다고 후자로 가자니 커밋 단위가 너무 커지는거 같기도 하고 잘 모르겠습니다.. 현업에서는 보통 어떻게 하는지 궁금합니다

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

이윤호님의 프로필 사진

자신이 편한대로 하시죠 그건 개발자마다 다 달라서 커밋단위보단 커밋 제목만 잘 정하는게 중요할거같네요. 코드리뷰할때 커밋단위로 보기보단 대부분 Code diff로 보기때문에 사실 커밋단위는 크게 신경쓰지 않는거 같아요. 커밋제목이 add code, edit code 이런식만 아니면 커밋단위는 정말 무식하게 큰거아니면 상관없다라고 생각합니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 07월 28일

커밋 단위를 정하는 것은 프로젝트와 팀의 작업 스타일에 따라 다르겠지만, 일반적인 원칙은 "각 커밋이 독립적으로 의미가 있고, 코드베이스에 안정적인 상태를 유지해야 한다"는 것입니다. 즉, 각 커밋은 특정 기능을 추가하거나 버그를 수정하는 등 특정 목적을 가지고 있어야 합니다. 상세한 예시로는, 1. 단일 기능 추가나 버그 수정: 이런 경우에는 기능이나 수정 사항 전체가 하나의 커밋이 될 수 있습니다. - 예) "회원 가입 기능 추가" 2. 큰 범위의 기능 추가: 큰 범위의 기능이나 리팩토링 작업 같은 경우에는 여러 단계로 나누어 커밋할 수 있습니다. 이렇게 하면 각 단계에서 어떤 변화가 일어났는지 보다 명확하게 볼 수 있습니다. - 예) "검색 기능 로직 변경 - Step 1: 인덱싱 로직 변경", "검색 기능 로직 변경 - Step 2: 검색 알고리즘 최적화" 따라서 당신이 걱정하신 것처럼 커밋이 너무 잦으면 나중에 커밋 로그를 파악하는 것이 어렵고, 반대로 너무 큰 단위의 커밋은 문제를 추적하거나 코드 변경 사항을 이해하는 데 어려울 수 있습니다. 최선의 방법은 기능별로 의미있는 단위로 커밋을 작성하고, 그 과정에서 발생한 리팩토링이나 수정 사항도 가능한 분리하여 커밋하는 것입니다. 알맞은 크기의 커밋을 만드는 것이 필요하며 이는 경우에 따라 다르기 때문에 시간과 경험으로 배워가게 될 것입니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!