수정 사항이나 기능을 작업 할 때 때때로 몇 초 만에 즉시 개선 될 수있는 다른 작은 문제가 우연히 발견됩니다. 내가 즉시 수행 한 다음 완성 된 기능 / 수정 사항을 커밋하면 커밋에 둘 이상이 포함됩니다. 예를 들어 "add feature X and code clean up"
또는 "fix bug X and improved logging"
. 이것을 두 개의 커밋으로 나누는 것이 좋습니다. 동일한 파일에서 두 가지 변경 사항이 발생한 경우 단순히 하나의 파일을 추가하고 커밋하고 다른 파일을 추가 한 다음 다시 커밋 할 수 없습니다. 그래서 다음 세 가지 옵션이 있습니다.
무언가를 작업하는 동안 의도적으로 관련이없는 것을 간과합니다.
변경 사항이 두 개인 파일을 복사하고 되돌리고 한 변경 사항 포함, 커밋, 다른 변경 사항 포함, 다시 커밋하십시오.
관련이없는 작은 것을 변경하지 말고 할 일 목록에 추가 한 후 나중에 수행하십시오.
다음과 같은 이유로 세 가지 옵션을 모두 좋아하지는 않습니다.
작은 문제를 해결하지 않으면 코드 품질이 저하 될 수 있습니다. 노력없이 무언가를 개선 할 수있는 기회를 의식적으로 놓치면 기분이 나빠집니다.
수동 작업이 증가하고 오류가 발생하기 쉽습니다.
아주 작지 않은 할 일에는 괜찮지 만, 할 일 목록에 작은 항목을 추가하고 나중에 다시 방문하면 즉시 수정하는 것보다 훨씬 오래 걸립니다.
그러한 상황을 어떻게 처리합니까?
git add -p
나에게 대화 형으로 내가 커밋 할 파일의 부분을 선택할 수있는 많은. 정리가 충분히 분리되어 있으면 쉽게 수행 할 수 있습니다. 분리가 더 어려운 경우 임시 분기에서 상태를 커밋 한 다음 임시 분기에 차이가 없을 때까지 실제 분기에 변경 사항을 수동으로 추가하십시오. 이것은 더 많은 작업이 필요하지만 각 커밋이 자체적으로 작동하는지 확인할 수 있습니다.