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
Mục lục
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