솔로 개발자로서 커밋 메시지를 작성 하시겠습니까?


30

저와 다른 프로그래머가 저장소를 공유하는 내 프로젝트에서, 나는 일차 개발자 인 경우에도 커밋 메시지를 작성합니다.

그러나 프로젝트에서 일하는 솔로 개발자이고 저장소가 개인 랩톱에서 호스팅되고 클라이언트가 호스팅하지 않는 프로젝트에서는 커밋을 작성하지 않아도 커밋을 볼 수 있습니다. 메시지?

지금까지 나는 그것들을 쓰고 있지만, 나는 결코 커밋 메시지를 보지 못했던 것을 발견했다. 메시지를 작성하기 위해 개발 시간을 but지만 나조차 다시는 볼 수 없습니다.

솔로 개발자로서 커밋 메시지를 작성해야 할 이유가 있습니까? 아니면 개발에 계속 집중하기 위해 메시지를 건너 뛰어야합니까?


14
"내가 커밋 메시지를 다시 보지 않고 본 적이 없습니다." 처음으로 돌아 가야 할 때 아마도 그럴만한 이유가있을 것입니다. 실제로, 당신의 신발을 걸을 때, 아마도 첫 번째 복귀가 일어날 때까지 침묵을 저지를 것입니다.
gnat

5
"주 개발자 인 경우에도 항상 커밋 메시지를 작성합니다." 그게 이례적인 것 같아? 물론 1 차 개발자는 다른 개발자들보다 이미 메시지를 작성해야합니다.
AlbeyAmakiir

7
커밋 메시지는 최신 버전뿐만 아니라 이전 버전의 소프트웨어 유지 관리를 시작할 때 순금입니다.

답변:


43

여기에 한 가지 이유가 있습니다. 지난 수백 개의 커밋에 대해 무언가 잘못되었다는 것을 갑자기 깨달았다면 (매일 편집 할 때 커밋 할 수 있고, 나와 같이 "안정된"스냅 샷 만 커밋 할 경우에는 덜 가능합니다) 더 쉽게 할 수 있습니다 "버그 수정"대신 명확한 커밋 메시지를 작성한 경우 버그를 삽입 한 위치를 찾으십시오. (동료가 가장 좋아하는 문자열입니다.) 물론, 당신과 함께 갈 수 svn log또는 사용중인 SCM 무엇, 그러나 그것은 해야 다른 방법으로 주위 쉽다.

또한 커밋 메시지 는 변경 사항으로 정확히 무엇을했는지 생각 하고 프로젝트를 계속 개선하는 것이 가장 좋은 방법을 떠올리게합니다.


13
마지막 단락에 +1 내가 변경 했는지 알기 때문에 적절한 커밋 메시지를 작성하는 데 거의 제로 시간이 걸린다는 것을 알았 습니다.
Stephen Darlington

5
솔로 작업의 경우 무언가를하기 전에 커밋 메시지를받습니다. 나는 작은 일을하고 (30-45 분 동안 아내와 아이들을 얻었습니다!) 어쩌면 당신은 그것을 개발 주도 개발이라고 부를 수 있습니까?
corsiKa

52

나는 항상 노력합니다. "내가이 변화를했을 때 내가 무엇을하고 있 었는가?" 나는 항상한다. 메시지를 30 초 동안 작성하면 20 분의 작업 시간을 절약 할 수 있습니다.


12
월간 보고서를 작성할 때도 도움이됩니다. 커밋 메시지 목록은 보고서를위한 훌륭한 시작입니다.
mhoran_psprep

2
네, 그리고 코멘트를하는 데 걸리는 시간을 상환하기 위해 필요한 시간은 한 번만 걸립니다.
tzerb

20

평범한 영어로 약 40-80자를 입력하는 오버 헤드가 커밋에 대한 상당한 오버 헤드라고 생각하십니까, 아니면 게으른 변명을 찾고 있습니까?

어쩌면 문제가 변경을 한 이유를 일반 영어로 표현하는 경우가 있습니다.이 경우 변경 목적을 검토해야 할 수도 있습니다.

내 조언은 당신이 혼자 비행하기 때문에 규칙을 어길 수 있다고 생각하지 않습니다. 항상 전문가 수준을 유지하고 의미있는 커밋 메시지를 추가하십시오. 다른 응답자가 언급했듯이 언젠가는 감사 할 것입니다.


14
  • 항상 솔로 개발자가되는 것은 아닙니다.

  • 결국 코드베이스를 깨고 복원을 시도합니다. 좋은 커밋 메시지는 시간을 절약 해줍니다.

  • 3 주 전에 무슨 일을했는지 ​​기억이 안나요?

  • 커밋 메시지는 매우 분명해야합니다. 그렇지 않은 경우 작업을 완료하지 않았거나 단일 작업이 두 개 이상의 작업에 분산 된 것입니다.


7

확실히, 그렇지 않으면 분기 및 병합과 같은 기능을 사용하기 훨씬 어렵게 만듭니다. 그리고 당신은 조차 솔로 개발자의 경우, 그것들을 사용하고 싶습니다.


6

가능한 한 가지 이유 : 방금 변경 한 사항에 대해보다 추상적으로 생각하고 변경 사항을 구조화해야합니다.

그것이 무의미하다고 생각되면, 아마도 당신이 이상한 행동의 근원을 찾고있는 경우를 대비하여 주요 변경 사항이나 기존 기능을 변경하는 변경 사항에 대해 언급하십시오.


이 답변을 다시 방문하십시오. 커밋 메시지가 전혀 없습니다. 그러나 그것은 회귀를 추적하려고 상상할 수없는 꽤 평평한 HTML / JS 프로젝트에 있습니다. 커밋 메시지를 작성하는 데 드는 노력은 거의 다른 곳에서 보내는 것이 좋습니다. (모든 프로젝트가이 카테고리에있는 것은 아닙니다!)
Steve Bennett

4

저는 TXR 프로젝트의 유일한 커미터였으며 프로젝트 초기부터 자세한 ChangeLog를 유지했습니다. 이것은 11,000 줄에 가깝고 성장하고 있습니다 : http://www.kylheku.com/cgit/txr/tree/ChangeLog

(리포지토리의 커밋 메시지는 ChangeLog에있는 내용의 복사본 일뿐입니다.)

[2016 년 편집 : 2015 년 중반부터 더 이상 ChangeLog 파일을 유지 관리하지 않습니다. 그러나 커밋 메시지는 동시에 Git 및 ChangeLog 규칙을 준수하는 형식으로 작성됩니다. 병합 문제를 일으키지 않는 방식으로 동일한 수준의 세부 사항이 있습니다. 이 주석에서 ChangeLog 파일을 기계적으로 재구성 할 수 있습니다.]

예, 한번 이상 변경 사항과 관련된 오래된 커밋 메시지로 돌아갔습니다 (의 도움으로 발견되지 git bisect않음). 이 메시지는 내가하고있는 일을 이해하는 데 도움이되었습니다.

ChangeLog에서 함수, 유형, 매크로 또는 전역 변수가 처음 도입 된 시점과 이후 변경 사항이 발생한 시점을 알 수 있습니다.

그러나 스스로 작업 할 때 이와 같은 자세한 커밋 메시지 를 작성하는 주된 이유 는 다음과 같습니다 .

자세한 커밋 메시지를 작성하면 다른 사람이 커밋을 코드 검토하는 것과 비슷한 이점이 있습니다. 커밋 검토의 가치는 누군가가 코드를 확인하는 것이 아니라 변경 사항을 다른 개발자에게 설명해야합니다.

설명하려고 할 때 때로는 이해가되지 않는 것을 알게됩니다.

또 다른 이유 : 쓸모없는 변화를 겪을 수 있습니다 . 자세한 커밋 주석을 작성하면 현재 수행중인 작업에 대한 높은 수준의 관점을 파악한 다음 때때로 좋은 변경이 아니라는 사실에 직면하게됩니다.

ChangeLog 항목을 작성하는 도중에 이것이 git reset --hard변경되는 대신 (이 쓸모없는 변경 사항을 버리는) 것을 깨달았 습니다 git commit -a.


3

커밋 메시지를 보지 않아도되었지만 앞으로는 매우 감사 할 것입니다. 당신은 자신을 위해 계속 작성해야합니다. 나중에 유용 할 수있는 여러 가지 이유가 있습니다 (기능을 추가하고 누락 된 파일을 찾는 등의 이유를 잊어 버렸습니다).

커밋 메시지의 목적과 관련된 질문은 다음과 같습니다. 커밋 메시지를 작성해야하는 이유


3

나는 항상 변화에 대한 의미있는 메시지를 전하고, 증분 변화를 자주한다.

이것이 항상 가장 유용한 것입니까? 아닙니다. 그렇게하는 데 아무런 문제가 없습니다. 진행중인 이전 단계로 되돌려 야하는 경우 메시지가 현재 위치와 수행 한 작업을 알려줍니다. 또한 프로젝트 진행 상황을 추적하는 데 사용할 수 있습니다. 시간 낭비라고 볼 때 30 초가 실제로 그 문장을 적어 두는 데 걸리는가?


3

팀에서 일하고 있는지 여부에 관계없이 커밋 메시지와 관련하여 아무런 차이가 없습니다. 당신은 제한된 시간 동안 여기저기서 한 일을 기억하고, 그 후에 다른 누군가가 그것을 쓴 것과 같습니다. 따라서 다른 사람들에게 좋은 메시지를 작성해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.