Viết commit đẳng cấp thế giới

Tình cờ gặp bài viết chia sẽ khá hay về cách viết commit trước khi push code nơi copy chia sẽ vậy, nếu bạn nào đã làm việc với GIT rồi thì thấy việc viết thông báo trước khi commit cũng không phải là đơn giản đâu. Bài viết nguyên gốc bạn xem trên team AsianTechInc

Nguyên tắc

Format như sau :
dòng 1: thông tin cơ bản về nội dung thay đổi ( title, tóm tắt, … )
dòng 2: khoảng trắng
dòng 3 trở đi: Lý do thay đổi, nội dung thay đổi cụ thể, …

Tiếng Anh, tiếng Nhật đều được, nhưng 1 project thì dùng thống nhất 1 ngôn ngữ thôi. Và không dùng tiếng Việt nhé =))

Dòng 1

Format như sau :

[phân loại] tóm tắt

Phân loại

Có nhiều loại thao tác đối với code, và tương ứng với nó sẽ là 1 phân loại cụ thể. Vấn đề là có … hơi nhiều phân loại :D.

Phân loại thông thường

  • fix : sửa bugs
  • hotfix : sửa những bugs khẩn cấp
  • add : thêm file, thêm chức năng
  • modify : sửa, thay đổi tính năng ( không phải bug nhé )
  • change : thay đổi requirement
  • clean : chỉnh sửa, dọn dẹp code
  • disable : vô hiệu hoá ( ví dụ như comment out )
  • remove : xoá file
  • upgrade : nâng cấp
  • revert : chữa cháy lại những thứ vừa thay đổi

Phiên bản đơn giản

Số lượng phân loại trên thực sự là quá nhiều và phức tạp, do đó để đơn giản hoá vấn đề, ta sẽ đưa ra 1 cách phân loại khác nhẹ nhàng hơn.

  • fix : fix bugs
  • add : thêm chức năng, tính năng mới
  • modify : sửa, nâng cấp tính năng ( không phải bugs )
  • remove : xoá ( file )
  • revert : chữa cháy

Tóm tắt

[động từ] [danh từ] [trợ từ/phó từ] [#{issue ID}]
Tóm tắt nội dung của những thay đổi trong commit 1 cách ngắn gọn. Theo 1 số quy ước khác thì dòng này sẽ không quá 80 kí tự. Ngoài ra cũng nên hạn chế sử dụng từ chuyên môn.

Nếu project sử dụng issue của github thì cuối dòng phải thêm #{issue ID} để tận dụng 1 số tiện ích của github.

Dòng 3

Giải thích nội dung, lý do, những thay đổi trong commit.
Cố gắng giải thích đơn giản và dễ hiểu. Nếu dùng redmine thì có thể … paste cả cái link redmine vào đây cho dễ hiểu :D.

Tiếng Anh trong commit

Xác định động từ chính trong 1 commit sẽ dễ hiểu và dễ viết hơn

Động từ

Động từ để ở thì hiện tại.

ý nghĩa từ
tạo mới create
xoá remove, delete
cập nhật update
cập nhật(version) upgrade
thêm add
sử dụng use
bao gồm include
sửa modify
sửa (bugs) fix (a bug)
thay đổi change
di chuyển move
ghi đè replace
mở rộng extend
sử dụng/không sử dụng enable/disable
chỉnh lý clean
liên kết link
gửi send
mở/đóng open/close

Những từ trừu tượng như implement, improve, support thì không nên dùng.

Danh từ

Danh từ ngoài đời thì nhiều chứ trong code thì cũng không nhiều :D.
Những từ thường hay gặp :
bug, typo, changelog, config, settings, format, description, argument

bổ ngữ, other

Những bổ ngữ hay dùng :

ý nghĩa từ
vì …, trong … for …
cùng với… with …
vượt qua… over …
trong… in …
thông qua… via …
từ … đến … from … to …
thay thế cho… instead of …
nếu cần if necessary
…trước/sau before …/after …

Kết luận

Tôi huy vọng với chia sẽ này thì message mỗi lần commit của bạn sẽ trở nên tốt hơn, nếu bạn nào có những mánh khoé hay thì chia sẽ với bạn đọc nào

Leave a Reply

Your email address will not be published. Required fields are marked *