Git에 공동 Author 추가하기

현재 저는 회사에서 새로운 기능을 추가하는 프로젝트를 진행 중입니다.

 

하지만 프로젝트 시작하자마자 작은 고민이 생겼습니다.

미리 설계해 놓은 문서를 바탕으로 제가 프로토타입을 만들고, 같은 팀원이 제 프로토타입 코드를 실제 서비스에 반영할 수 있게 작업해 주긴 했으나 지저분한 커밋이 많고 추가로 수정하고 싶은 부분이 생겨서 어떻게 할까 고민에 빠졌습니다.

 

결국 커밋을 전부 reset 후 새로 작성하기로 합니다.

 

Feature Flag를 통해서 추가되는 새로운 기능이기 때문에 기존 코드를 변경하지 않기도 하고, 첫 릴리즈 이전에 발생한 변경사항들이 Commit에 존재하는 의미가 없으며 또한 rebase하기에는 손이 더 많이 갈 것 같아서 말이죠. 

 

이때 한가지 고민이 생겼는데 변경된 Commit 대한 Author를 어떻게 할지가 문제였습니다. 

공동 Author 추가하기

Author를 아예 같이 작업하던 친구로 하려고 했다가 생각해보니 코드 리뷰 시 둘 다 노티가 되면 좋지 않을까 싶어서 여러 명을 Author로 등록하는 방법을 사용했습니다.

 

공동 Author를 추가하기 위해서 아래 3가지 방식 중 하나를 선택했습니다.

  1. Github Desktop을 이용한 방식 Link

  2. Git Commit 메시지에 추가하는 방식

    $ git commit -m "Refactor usability tests.
    >
    >
    Co-authored-by: name <name@example.com>
    Co-authored-by: another-name <another-name@example.com>"
  3. Github Commit 메시지에 추가하는 방식
    위와 동일합니다.
    내용에 Co-authored-by: name <name@example.com>를 추가해줍니다.

이후 아래와 같이 커밋메시지가 보이게 됩니다.

마치며

새로운 기능을 개발자 A(Development Prototype) -> 개발자 B(Implementation) -> 개발자 A(Refactoring) 순서로 작업한 적이 처음이라 흥미로운 경험이었습니다. 또한 회사에서 1 week 배포 싸이클을 가지고 있기 때문에 발생한 특수한 상황이라고 생각합니다.

 

이를 단순히 rebase 등으로 처리했다면 제가 작업한 프로토타입에 대한 모든 책임을 동료에게 위임하게 되는 모양새라서 뭔가 오묘한 기분이 들더군요.

뿐만 아니라 이 친구가 작업한 코드를 제가 정리할 겸 또 수정하려니 또 Author가 다시 제게로 오기에 이게 참 뭔가 말하지 못할 민망한 문제가 있었는데, 이런 상황에서 multiple author를 추가해서 같이 작업한 코드에 책임감도 나눌 수 있었습니다. 

Reference

https://docs.github.com/en/github/committing-changes-to-your-project/creating-a-commit-with-multiple-authors