15P by xguru 2022-11-30 | favorite | 댓글 1개
  • git에 저장되는 객체를 수정하지 않고 노트를 추가하는 기능
  • 보통 커밋에 별도의 메타데이터를 추가하는 용도로 사용
    • 커밋 이후에도 나중에 추가/수정/삭제가 가능하기 때문
    • 기본으로 refs/notes/commits 에 별도로 저장됨
  • git log로 보면 Notes: 항목에 같이 보여짐
  • 실제 사용 사례
    • 'git 프로젝트'에서는 커밋을 관련 메일링 쓰레드와 연결하는데 사용됨
    • 커밋/브랜치에 시간 트래킹
    • 코드리뷰 및 테스팅 관련 정보를 기록
  • Gerrit용 reviewnotes 플러그인을 이용하면 코드 리뷰를 git note에 기록 가능
  • 구글의 한 개발자는 git-appraise 라는 git note 기반 풀 코드 리뷰 시스템을 만들기도 했음
    • "완전 분산 코드 리뷰" 라고 이름 붙임
    • 로컬 머신에서 "리뷰 요청/커멘트/리뷰 및 머지" 가능함
    • 웹 인터페이스도 가지고 있음
  • 하지만 아무도 git notes를 사용하지 않음
    • 현재로서는 git notes는 사용하기 어려움
    • GitHub은 2014년 이후로 Notes를 표시하는 것을 중단
    • 커밋에 대해서는 gitconfig를 이용해서 note를 좀 더 쉽게 보고 추가 가능하지만, blob/tree에 대해서는 쉽지 않음

Forge independence (위조된 독립)

  • git은 분산 코드 리뷰 시스템임. 하지만, git repo의 많은 가치 들이 GitHub같은 금고에 잠겨져 있음
  • git notes는 대안으로 가는 길임
  • git은 코드 조각의 히스토리를 배포함. git notes는 전체 프로젝트의 히스토리를 배포 가능하게 할 수 있음

git note는 처음 알았네요. 공유 감사합니다.