Tôi sẽ không lưu trữ các chi nhánh. Đặt cách khác, chi nhánh tự lưu trữ. Những gì bạn muốn là đảm bảo thông tin liên quan đến các nhà khảo cổ học có thể được tìm thấy bằng các phương tiện đáng tin cậy. Đáng tin cậy ở chỗ họ hỗ trợ phát triển hàng ngày và không thêm một bước nữa vào quá trình hoàn thành công việc. Đó là, tôi không tin mọi người sẽ nhớ thêm một thẻ khi chúng được thực hiện với một nhánh.
Đây là hai bước đơn giản sẽ giúp ích rất nhiều cho khảo cổ học và phát triển.
- Liên kết mỗi nhánh nhiệm vụ với một vấn đề liên quan trong trình theo dõi vấn đề bằng cách sử dụng quy ước đặt tên đơn giản .
- Luôn luôn sử dụng
git merge --no-ff
để hợp nhất các nhánh nhiệm vụ; bạn muốn hợp nhất cam kết và bong bóng lịch sử, thậm chí chỉ cho một cam kết.
Đó là nó. Tại sao? Bởi vì là một nhà khảo cổ học mã, hiếm khi tôi bắt đầu muốn biết những gì công việc đã được thực hiện trên một nhánh. Thường xuyên hơn đó là lý do tại sao trong tất cả chín địa ngục đang la hét là mã được viết theo cách này?! Tôi cần thay đổi mã, nhưng nó có một số tính năng kỳ lạ, và tôi cần giải mã chúng để tránh phá vỡ thứ gì đó quan trọng.
Bước tiếp theo là git blame
tìm các cam kết liên quan và sau đó hy vọng thông điệp tường trình là giải thích. Nếu tôi cần đào sâu hơn, tôi sẽ tìm hiểu xem công việc đã được thực hiện trong một chi nhánh và đọc toàn bộ chi nhánh chưa (cùng với lời bình luận của nó trong trình theo dõi vấn đề).
Hãy nói git blame
điểm tại cam kết XYZ. Tôi mở trình duyệt lịch sử Git (gitk, GitX git log --decorate --graph
, v.v.), tìm cam kết XYZ và xem ...
AA - BB - CC - DD - EE - FF - GG - II ...
\ /
QQ - UU - XYZ - JJ - MM
Có chi nhánh của tôi! Tôi biết QQ, UU, XYZ, JJ và MM đều là một phần của cùng một chi nhánh và tôi nên xem thông điệp tường trình của họ để biết chi tiết. Tôi biết GG sẽ là một cam kết hợp nhất và có tên của chi nhánh, hy vọng có liên quan đến một vấn đề trong trình theo dõi.
Nếu, vì một số lý do, tôi muốn tìm một nhánh cũ tôi có thể chạy git log
và tìm kiếm tên nhánh trong cam kết hợp nhất. Nó đủ nhanh ngay cả trên các kho rất lớn.
Đó là những gì tôi muốn nói khi tôi nói rằng các chi nhánh lưu trữ chính họ.
Gắn thẻ cho mọi chi nhánh sẽ thêm công việc không cần thiết để hoàn thành công việc (một quy trình quan trọng cần được sắp xếp một cách tàn nhẫn), tổng hợp danh sách thẻ (không nói về hiệu suất, nhưng khả năng đọc của con người) với hàng trăm thẻ chỉ thỉnh thoảng rất hữu ích và không phải là ' t thậm chí rất hữu ích cho khảo cổ học.
git checkout [rev] file