본문으로 건너뛰기

Dev Manage Project

마이크로매니징 없이 Git 그래프로 진행 상황 파악하기

팀을 들볶지 않아도 Git 그래프만 보면 프로젝트가 어떻게 굴러가는지 대충 보입니다. 제가 쓰는 방법입니다.

“진행 상황 어때요?“라는 질문을 반기는 사람은 없습니다. 그런데 회사에서 프로젝트를 이끄는 입장에서는 진행 상황을 모르고 지나갈 수도 없죠. 제 타협점이 Git 그래프입니다. 누군가에게 묻기 전에 먼저 그래프를 봅니다. 대부분의 경우 답은 이미 거기 있습니다. 커밋 활동, 브랜치, 병합이 한눈에 보이고, 그걸 위해 회의를 잡을 필요도 없습니다.

그래프에서 실제로 읽을 수 있는 것
#

Git Graphs

찬찬히 본 적이 없는 분들을 위해 설명하면, 노드 하나가 커밋이고 갈라져 나가는 선이 브랜치이며, 전체가 프로젝트의 타임라인이 됩니다. 이 배치에 생각보다 많은 정보가 담겨 있습니다.

  • 한 번 훑어보는 것만으로 활성 브랜치 수와 커밋 빈도가 보입니다.
  • 갑자기 조용해진 브랜치나 몇 주째 병합되지 않은 브랜치는 대개 누군가 막혀 있다는 신호입니다. 이런 조기 경보는 값지죠.
  • 병합 빈도는 팀의 협업 방식을 비춥니다. 병합이 잦다는 건 작업이 꾸준히 통합되고 있다는 뜻이고, 너무 오래 산 브랜치는 고립된 작업이 되어 있을 가능성이 높습니다.

방해는 줄고, 대화는 나아지고
#

눈에 띄는 이득은 누구의 작업도 끊지 않고 상황을 알 수 있다는 겁니다. 더 큰 이득은 정말 대화가 필요해졌을 때 나타납니다. 추측이 아니라 그래프에서 이야기를 시작할 수 있거든요. “이 브랜치가 화요일부터 안 움직이던데, 뭐 막힌 거 있어요?“는 “진행 상황 어때요?“보다 훨씬 나은 첫마디입니다.

루틴을 공개해 두는 것도 도움이 됩니다. 저는 거의 매일 아침 슥 훑어보고, 일주일에 한 번 제대로 들여다봅니다. 팀도 그 리듬을 알고 있으니 아무도 놀라지 않습니다.

감시 도구로 만들지 말 것
#

이 부분은 저 스스로에게도 계속 되뇌는 대목입니다. 커밋 수는 가치가 아닙니다. 공들인 커밋 하나가 요란한 커밋 50개를 이길 때도 있습니다. 모든 커밋이 보인다고 해서 모든 결정에 토를 달 자격이 생기는 것도 아니고요. 팀을 믿고, 패턴이 정말 수상할 때만 개입해야 합니다. 그리고 그래프를 대화에 끌어들일 때는 피드백의 출발점으로 써야지, 기소용 증거로 쓰면 안 됩니다.

그래프를 볼 수 있는 도구들
#

선택지는 많고, 대부분 무료입니다.

  1. git log --graph --all --oneline — 터미널에서 바로 보는 텍스트 기반 그래프. 설치할 것도 없습니다.
  2. Gitk — Git에 내장된 히스토리 GUI.
  3. SourceTree — Bitbucket을 만든 Atlassian의 무료 GUI 도구.
  4. GitKraken — 이 중 가장 보기 좋은 클라이언트. 그래프 뷰가 직관적입니다.
  5. TortoiseGit — Windows 사용자용. 우클릭 메뉴 통합과 히스토리 그래프를 제공합니다.
  6. GitHub, GitLab, Bitbucket — 리포지토리 페이지에 “네트워크"나 “그래프” 뷰가 내장되어 있습니다.
  7. VS Code의 Git Graph 확장 — 에디터를 벗어나지 않고 인터랙티브한 그래프를 볼 수 있습니다.
  8. Tower — 시각적 그래프를 갖춘 또 하나의 탄탄한 Git 클라이언트.

무엇을 고르든 목적은 같습니다. 진행 상황을 이해하는 것. 커밋 수를 세는 게 아니라요.