Git 커밋 이력과 행위자 식별
Git 이력에 표시된 작성자와 시각은 코드 변경을 이해하는 자료이며, 실제 작업자와 자료 이동 시점은 별도 기록으로 확인해야 합니다.
이 사람 이름으로 코드가 등록돼 있습니다
가상의 업무 예시입니다. 소스코드 유출 조사에서 직원의 PC에 회사 저장소가 발견됐습니다. 저장소 이력에는 다른 직원의 이름과 수개월 전 작성 시각이 표시돼 있었습니다. 조사 담당자는 해당 직원이 그 시점에 코드를 작성하거나 전달했다고 판단하려 합니다.
그러나 저장소를 복제하면 기존 커밋 이력도 함께 전달될 수 있습니다. 현재 PC에 과거 이력이 있다는 사실과 그 PC에서 해당 변경을 직접 수행했다는 사실은 구분해야 합니다.
커밋 정보와 인증 기록은 역할이 다릅니다
Git 공식 문서는 커밋 작성자와 커미터의 이름·이메일·시각이 설정값이나 환경변수에서 결정되며, 표시 이름이 인증에 영향을 주지 않는다고 설명합니다. 따라서 이름이나 이메일 주소만으로 실제 행위자를 확정하기 어렵습니다.
저장소의 확보 범위도 확인합니다. 일부 이력만 받는 얕은 복제나 특정 브랜치만 복제한 저장소라면 과거 변경 전체가 포함되지 않을 수 있습니다.
실무에서는 코드 내용과 커밋 관계를 분석하면서 저장소 서비스의 인증·접근기록, PC 사용 흔적, 자료 전송 기록을 연결합니다. 커밋 시각을 다운로드나 외부 전송 시각으로 대신 사용하지 않습니다.
실무에서 확인할 사항
- 작업 파일과 Git 관리정보를 함께 확보했는지
- 브랜치·태그와 이력의 포함 범위
- 작성자와 커미터 정보, 각 시각의 의미
- 저장소 접근 계정·인증기록과 단말 사용 흔적
- 코드 내용의 공통성과 실제 전달 경로를 뒷받침하는 자료
기록이 부족하면 “해당 이름이 표시된 커밋이 저장소에 존재한다”는 확인 사실과 실제 작업자에 대한 추정을 나누어 보고합니다. 같은 커밋을 보유했다는 사실만으로 직접 전달 관계나 무단 반출을 입증할 수는 없습니다. 포렌식 검토는 코드의 존재와 변경 이력을 설명하고, 행위자 판단에 필요한 추가 근거를 제시하는 과정입니다.
출처
- Git 공식 커밋 문서
- Git 공식 복제 문서

