Vài quy tắc cơ bản cho git
Thẻ: git, programming
Bài gốc: http://archlinuxvn.org/vn/author-guide/#git
Bài mẹ: /doc/git
-
Suy nghĩ hai lần trước khi dùng
rebase
(haygit pull --rebase
). Dorebase
sẽ thay đổi mốc thời gian và#hashstring
củacommit
, nên nếu cáccommit
của bạn đã được gửi đến một trong các kho xa (remote
) thì quy tắc là KHÔNG ĐƯỢC DÙNG REBASE. Nếu phân vân, hãy dùngmerge
như là cách an toàn nhất, dù kết quả củamerge
nhiều khi rất lộn xộn, khó coi. -
Pull
trước khipush
. Điều này có nghĩa là, nếu bạn không có xác nhận vào khogit
của trang chủ trong một thời gian tương đối dài (một ngày chẳng hạn), bạn nên chạygit pull --rebase
để lấy về các thay đổi mới nhất từ kho trước khi bạn bắt đầu soạn hay chỉnh bài. Lý do cho việc này rất đơn giản: Vì kho do nhiều người tham gia chỉnh sửa, nên có khi điều bạn muốn thay đổi đã có người khác làm rồi, và bạn không cần gây thêm rắc rối :big_smile: -
Nếu bạn có địa chỉ hai kho khác nhau, ví dụ khi bạn có tài khoản Github thì thường bạn sẽ cần ít nhất hai kho: một kho chính và kho là nhân bản do bạn tạo ra, ví dụ https://github.com/***/home (ở đây các dấu sao đại diện cho
nickname
của bạn ởGithub
). Trường hợp này bạn cầnrebase
theo kiểu riêng, ví$ git remote add main \ [email protected]:theslinux/homepage.git $ git co master $ git rebase main/master master # hoặc $ git merge main/master
Nhớ rằng,
pull
vàrebase
cần thường xuyên thực hiện để đảm bảo rằng bạn không lệch pha so với người khác. - Khi xác nhận thay đổi với
git commit
, bạn cần có chú thích tương đối ngắn gọn, nhưng không nên quá ngắn gọn (trừ trường hợp các thay đổi nhỏ, không đáng kể.)- Nên dùng tiếng Anh cho chú thích (do một số chương trình
git client
có thể không làm việc với tiếng Việt) - Bạn có thể theo dõi cách cung cấp chú thích bằng cách theo dõi cách
của người khác: từ dòng lệnh gõ
git log
để xem; hoặc - Từ giao diện đồ họa chạy chương trình
gitg
-
Nếu phải chú thích trên nhiều dòng, thì dòng đầu tiên là tóm tắt, sau đó là một dòng trắng, và sau đó là các chú thích khác. Ví dụ
git commit -m'Short message Long message goes here * description 1 * description 2'
Lưu ý rằng đây là những quy ước phổ biến khi làm việc với
git
. Xem thêm nhiều hướng dẫn có ích trong bài của tbaggery-2008.
- Nên dùng tiếng Anh cho chú thích (do một số chương trình
- Hãy xác nhận từng tập tin, từng thay đổi thay vì xác nhận nhóm các thay đổi.
Ví dụ, nếu bạn thực hiện thay đổi cho ba bài viết
A
,B
,C
, thì đừng nên dùng lệnhgit commit -a ...
mà nên xác nhận cho từng bài viếtgit A -m'...'
,git B -m'...'
. Điều này đặc biệt có ích khi các bài viếtA
,B
,C
ít liên quan với nhau. Lợi ích của việc xác nhận từng phần là việc trộn (merging
) và tách (git cherry-pick
) sẽ đơn giản và ít lỗi hơn rất nhiều.
----
2 commit(s) 1 author(s);
last updated by Ky-Anh Huynh @ Wed Jul 17 17:41:49 2013 +0700
Trang này là một phần của TheSLinux, và được phân phối với giấy phép CC BY-SA 3.0. Bạn được Sao chép, Chia sẻ, Phân phối trang này dưới điều kiện sau: (1) Bạn phải ghi tên tác giả TheSLinux và giấy phép; tuy nhiên không được hàm ý tác giả trao trang này hay quyền sử dụng trang này cho bạn; (2) Nếu bạn sử dụng, chuyển đổi, hoặc xây dựng dự án từ trang này, bạn phải áp dụng giấy phép BY-SA hoặc giấy phép có các điều khoản tương tự như giấy phép BY-SA cho dự án của bạn.