2010-03-24 3 views
9

나는 어떤 종류의 내용이 이어야하는지가 버전 화 된 파일 커밋에 있어야한다고 생각합니다. 일반적으로 변경된 내용 (예 : "위젯 화면이 활성 위젯 만 표시되도록 변경되었습니다") 또는보다 구체적으로 설명해야합니다 (예 : "fetchWidget 쿼리의 where 절에 새로운 조건이 추가되어 기본적으로 활성 위젯 만 검색합니다 ")SVN/Versioned 파일 커밋 주석에는 어떤 정보가 포함되어야합니까?

단일 커밋은 얼마나 커밋되어야합니까? 단일 커밋에서 업데이트 된 쿼리를 포함하는 파일 (예 : "기본적으로 활성 위젯 만 표시하도록 위젯 화면 업데이트") 또는 여러 변경 사항과 화면 변경 사항을 화면에 표시하고보다 일반적인 설명으로 같은 커밋을 공유해야합니다 ("업데이트 된 위젯 화면 : A)는 기본적으로 활성화 된 위젯 만 표시합니다. B) 비활성 위젯을 표시하는 버튼이 추가되었습니다.")

Subversion 커밋 주석이 매우 다르게 사용되고 있으며 다른 사람들이 성공했는지 궁금합니다. 일부 의견은 "업데이트 된 파일"만큼 짧지 만, 다른 의견은 많은 단락으로되어 있으며 다른 단락은 JIRA와 같은 일부 외부 시스템과 쿼리 및 연관 될 수있는 방식으로 형식이 지정됩니다.

이전에는 구체적인 기술적 변경 사항과 변경 사유를 설명하는 데 익숙했습니다. 요즘 나는 스케일링을 해왔고 단지 "이 페이지에서 바뀐 것"이라는 일반 의견을주었습니다.

답변

9

일부 지침 :

  • 벤처 시스템이 이미 자동으로 추적하는 것이 물건을 쓰지 않는다 : 변화를했을 때 어떤 파일, 얼마나 많은 라인을, ...
  • 어떤 목적으로 작성합니까 변경 내용은 다음과 같습니다. "ID3 태그에 UTF-8 지원 추가"
  • 목적이 명확하지 않거나 여러 개인 경우에는 여러 커밋을하는 것이 좋습니다. 리누스 토발즈 (Linus Torvalds)는 "온통 여러 가지 수정"을 쓰면서 도망 갈 수 있습니다. 나머지 우리는 그를 예로 들지 않아야합니다.
  • 문제 또는 기능 요청에 고유 한 식별자를 할당하는 추적 시스템이있는 경우 해당 식별자로 주석을 추가하십시오.
3

개인적으로, 내가 변경 및/또는 추가 한 내용에 대한 간략한 요약을 작성하려고합니다. 뭔가 "비즈니스 요소에 추가 규칙을 추가 한 곳입니다."라고 생각 나게합니다. 언제나 "diff"를 실행하여 무엇이 변경되었는지 구체적으로 볼 수 있기 때문입니다.

5

커밋 내용을 간략하게 설명해야합니다. 여기에는 버그 수정이나 향상을위한 티켓 번호가 포함되어야합니다. 필자가 코멘트를 쓰는 것에 대해 들어 본 최고의 조언은 "코드를 유지할 다음 사람이 당신이 사는 곳을 아는 살인 광인 인 것처럼"이 코드입니다. 이것은 똑같이 코멘트를 쓰는 것이 적절합니다.

1

쓸 내용/쓰지 말아야 할 것에 대해 생각할 때 한 가지 도움이되는 점은 결국 커밋 주석의 내부 기술 릴리스 노트를 컴파일 할 수 있어야한다는 것입니다.

나는 또한 매우 유용 #doc, #typo, #refactor처럼, 커밋 주석에 태그를 설정 찾을

... 커밋 할 때 내가 너무 설명이되지 않을 것

- 수행하는 이유를 어떤 방법 으로든 다른 것이 문서에 있거나 코드 주석 IMO에 있어야합니다.

4

유용한 커밋 주석은 변경 내용 자체에서 쉽게 추출 할 수없는 유용한 정보를 추가하는 주석입니다.차이점 보면 변경된 것을 보여줄 것이다, 그래서 커밋 주석을 변경 한 이유를 설명에 집중해야합니다

  • 고정 충돌로 인해 NULL 포인터 역 참조 (버그 ID 234)에.

  • 서버와의 연결을 끊는 명령이 추가되었습니다 (기능 요청 22).

  • 향후 변경을 위해 정리 된 코드. 위젯을 frobulate하는 사용자를 허용하는

    • 추가 지원 :

    주석의 또 다른 유용한 종류의 변화의 큰 집합의 전체 목적을 요약 한 것입니다.

3

버그 추적 시스템을 사용하는 경우 변경 사항에 적용되는 버그/개선 번호를 포함시키는 것이 가장 좋습니다. 어쨌든 버그 설명에있는 내용을 다시 작성하는 경우가 많습니다.

2

변경 사항 요약 (변경 목록에서 필터링 허용)과 변경 사항이 적용된 이유가 포함되어야합니다.

새 코드의 문서는 소스 코드 자체에 속해 있습니다. 로그 메시지에 없습니다. (이전 코드에 적용된 만 제거해야한다는 의견이 있으며, SCC 시스템의 내역을 통해 항상 이전 주석을 볼 수 있습니다.

관련 문제