Vài quy tắc cơ bản cho git

Thẻ: ,
Bài gốc: http://archlinuxvn.org/vn/author-guide/#git
Bài mẹ: /doc/git

  1. Cấu hình cho git client trước khi bắt đầu.

  2. Suy nghĩ hai lần trước khi dùng rebase (hay git pull --rebase). Do rebase sẽ thay đổi mốc thời gian và #hashstring của commit, nên nếu các commit 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ùng merge như là cách an toàn nhất, dù kết quả của merge nhiều khi rất lộn xộn, khó coi.

  3. Pull trước khi push. Điều này có nghĩa là, nếu bạn không có xác nhận vào kho git 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ạy git 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:

  4. 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ần rebase 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, pullrebase 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.

  5. 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.

  6. 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ệnh git commit -a ... mà nên xác nhận cho từng bài viết git A -m'...', git B -m'...'. Điều này đặc biệt có ích khi các bài viết A, 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.