Chuyển đến nội dung chính
  1. Bài viết/

Dùng git graph để theo dõi tiến độ mà không cần quản lý vi mô

· loading · loading ·
Nhân Tài Đức
Tác giả
Nhân Tài Đức
Người dẫn dắt đội ngũ và kỹ sư phần mềm, sống tại Seoul, Hàn Quốc

Chẳng ai thích bị hỏi “việc đến đâu rồi?”, nhưng đã là người dẫn dắt dự án ở công ty thì tôi vẫn phải nắm được tình hình. Cách dung hòa của tôi là biểu đồ lịch sử Git (git graph): trước khi hỏi ai điều gì, tôi mở nó ra xem trước, và phần lớn thời gian câu trả lời đã nằm sẵn ở đó. Chỉ cần liếc qua là thấy được hoạt động commit, các nhánh được tạo ra và hợp nhất (merge) vào ra sao, mà chẳng ai phải ngồi họp vì chuyện đó.

Biểu đồ thực sự nói lên điều gì
#

Biểu đồ lịch sử Git

Nếu bạn chưa từng nhìn kỹ loại biểu đồ này: mỗi nút là một commit, mỗi đường tách ra là một nhánh, và cả biểu đồ đọc lên giống như dòng thời gian của dự án. Cách trình bày này chứa nhiều thông tin hơn bạn tưởng:

  • Liếc một cái là biết đang có bao nhiêu nhánh hoạt động và commit được đẩy lên đều đặn cỡ nào.
  • Một nhánh bỗng dưng im ắng, hay một nhánh mấy tuần rồi chưa hợp nhất, thường có nghĩa là ai đó đang bị kẹt. Đây là tín hiệu cảnh báo sớm rất đáng giá.
  • Tần suất hợp nhất cho bạn biết cả đội đang phối hợp với nhau thế nào. Hợp nhất thường xuyên nghĩa là phần việc của mọi người thực sự đang được ghép lại với nhau; còn nhánh tồn tại quá lâu thường là dấu hiệu có người đang làm một mình một cõi.

Ít làm phiền hơn, trao đổi chất lượng hơn
#

Cái lợi dễ thấy nhất là tôi không phải làm phiền ai mới nắm được tình hình. Nhưng cái lợi lớn hơn nằm ở những lúc thật sự cần nói chuyện: cuộc trao đổi bắt đầu từ những gì biểu đồ cho thấy, chứ không phải từ phỏng đoán. “Nhánh này đứng yên từ thứ Ba rồi, có gì đang vướng không?” là câu mở đầu tốt hơn nhiều so với “có gì mới không?”

Nói rõ thói quen này cho mọi người biết cũng giúp ích. Tôi thường liếc nhanh vào hầu hết các buổi sáng, và xem kỹ mỗi tuần một lần. Cả đội đều biết nhịp đó, nên không ai bị bất ngờ.

Đừng biến nó thành công cụ theo dõi nhân viên
#

Đây là điều tôi phải tự nhắc mình hoài. Số lượng commit không đồng nghĩa với giá trị: một commit chỉn chu có khi đáng giá hơn năm mươi commit lặt vặt. Thấy được mọi commit không có nghĩa là bạn có quyền chất vấn mọi quyết định. Hãy tin đội của mình, và chỉ nhảy vào khi thấy một xu hướng thật sự có vấn đề. Còn khi đem biểu đồ ra trong một buổi trao đổi, hãy dùng nó làm điểm khởi đầu để góp ý, chứ không phải làm bằng chứng để buộc tội ai.

Công cụ để xem biểu đồ
#

Có rất nhiều lựa chọn, phần lớn đều miễn phí:

  1. git log --graph --all --oneline: xem biểu đồ dạng văn bản ngay trong cửa sổ dòng lệnh (terminal), không cần cài thêm gì.
  2. Gitk: giao diện đồ họa (GUI) có sẵn của Git để duyệt lịch sử commit.
  3. SourceTree: giao diện đồ họa miễn phí của Atlassian, công ty đứng sau Bitbucket.
  4. GitKraken: đẹp nhất trong số này, phần hiển thị biểu đồ rất trực quan.
  5. TortoiseGit: dành cho người dùng Windows, tích hợp thẳng vào menu chuột phải và có biểu đồ lịch sử.
  6. GitHub, GitLab và Bitbucket: đều có sẵn chế độ xem “network” hoặc “graph” ngay trong trang kho mã (repository).
  7. Tiện ích mở rộng Git Graph cho VS Code: biểu đồ tương tác mà không cần rời khỏi trình soạn thảo mã.
  8. Tower: thêm một ứng dụng Git chắc tay nữa, có biểu đồ trực quan.

Chọn công cụ nào cũng được, mục tiêu vẫn chỉ có một: hiểu tiến độ, chứ không phải đi đếm commit.