이것이 무엇인지 알 수 있는가?

브랜치가 100개에 육박하는 아주 나쁜 git 사용 예

이것은 어떤 프로젝트의 커밋트리의 일부분이다. 그리고 아무런 의미도 없는 데이터이다.

작업에 의미가 없는 정보는 보이지 않아야 한다. 보이는 정보는 이유가 있으니까 보이는 거다. 커밋트리도 마찬가지다.

Git

버전관리시스템은 언제, 무엇을, 왜 변경했는지 정확하게 알기 위해 사용하는 도구이다. 소스코드의 변경이력을 보여줘서 지금까지 일을 어떻게 진행했는지 알려주는 것이 가장 중요한 기능이다.

롤백을 포함해 다른 기능도 여럿 있지만 이력을 관리하다보니 덤으로 할 수 있게 된 것이지, 그걸 하려고 만든 소프트웨어가 아니다. Git 또한 마찬가지다.

Commit Tree

커밋트리를 읽기 쉽게 유지해야 한다. Git의 기능(merge, rebase 등)을 사용할 때는 커밋트리의 가독성을 중심에 두고 판단해야 한다.

  1. 폭은 최대 3열.
  2. 교차하지 않는다.
  3. 보조 브랜치는 분기하지 않는다.

Branch

커밋트리가 필요할 때 사용한다.

참고

A successful Git branching model