7 kinh nghiệm hữu ích khi làm việc với GIT trong dự án

753

Bài viết được sự cho phép của tác giả Sơn Dương

Git là một công cụ không thể thiếu trong việc quản lý mã nguồn cho các dự án phát triển phần mềm. Tuy nhiên, không phải ai cũng có thể tận dụng Git một cách hiệu quả ngay từ đầu. Việc tuân thủ các quy tắc và thực hành tốt sẽ giúp bạn quản lý code một cách mượt mà, tránh xung đột và rối rắm trong quá trình làm việc nhóm. Dưới đây là một số kinh nghiệm và thực hành tốt mà bạn có thể áp dụng để làm việc hiệu quả hơn với Git.

1. Luôn sử dụng nhánh (branch) cho từng tính năng hoặc lỗi

Một trong những nguyên tắc quan trọng nhất là không bao giờ làm việc trực tiếp trên nhánh chính (thường là main hoặc master). Mỗi khi bạn bắt đầu làm việc trên một tính năng mới hoặc sửa lỗi, hãy tạo một nhánh mới dành riêng cho nhiệm vụ đó. Việc này giúp giữ cho nhánh chính luôn trong tình trạng ổn định và tránh xung đột không đáng có.

git checkout -b feature/awesome-feature

Khi tính năng hoàn thành và đã qua quá trình kiểm tra, bạn có thể hợp nhất (merge) nhánh đó vào nhánh chính một cách an toàn.

2. Viết commit message rõ ràng và ngắn gọn

Một thông điệp commit rõ ràng giúp đồng đội và chính bạn trong tương lai dễ dàng hiểu được thay đổi bạn đã thực hiện mà không cần phải đọc từng dòng code. Một thông điệp commit tốt thường tuân theo cấu trúc:

  • Dòng đầu tiên: Tóm tắt ngắn gọn thay đổi (tối đa 50 ký tự).
  • Dòng tiếp theo (nếu cần): Mô tả chi tiết về thay đổi hoặc lý do.
Fix: Resolve issue with user login not working

Hoặc chi tiết hơn:

Feature: Add login validation

- Added validation logic to check user credentials
- Fixed issue with undefined variable in login.js

3. Sử dụng git rebase thay vì git merge khi cần thiết

Khi bạn muốn cập nhật nhánh của mình với những thay đổi mới nhất từ nhánh chính mà không tạo ra một lịch sử commit rối rắm, git rebase là một lựa chọn tốt hơn so với git merge. Rebase giúp duy trì lịch sử commit sạch sẽ bằng cách “phát lại” các thay đổi của bạn lên trên lịch sử hiện tại.

git checkout feature/awesome-feature
git fetch origin
git rebase origin/main

Sau đó, bạn có thể giải quyết xung đột (nếu có) và tiếp tục công việc. Lưu ý rằng việc rebase có thể thay đổi lịch sử commit, vì vậy nên tránh sử dụng nó trên các nhánh đã được chia sẻ với người khác.

4. Kiểm tra code trước khi commit

Trước khi bạn thực hiện commit, hãy chắc chắn rằng bạn đã kiểm tra lại toàn bộ thay đổi của mình. Sử dụng lệnh git diff để xem các thay đổi so với phiên bản trước đó, hoặc git status để biết những file nào đã được chỉnh sửa.

git status
git diff

Việc kiểm tra giúp bạn tránh việc commit những đoạn code không cần thiết, chẳng hạn như những log thử nghiệm hoặc các thay đổi không liên quan.

  Những câu lệnh git quan trọng mà bạn dùng hằng ngày

  Sự khác biệt giữa ‘git merge’ và ‘git rebase’ là gì?

5. Luôn sử dụng .gitignore

Một lỗi phổ biến mà nhiều người mới bắt đầu gặp phải là commit các file không cần thiết, chẳng hạn như file cấu hình cá nhân hoặc thư mục build. Sử dụng file .gitignore để loại bỏ những file này khỏi quá trình theo dõi của Git.

Ví dụ về .gitignore:

node_modules/
dist/
.env

Điều này giúp tránh việc commit các file không cần thiết lên kho mã nguồn và giúp repo của bạn trở nên gọn gàng hơn.

Tham khảo Job FrontEnd HOT trên TopDev!

6. Thường xuyên cập nhật từ nhánh chính

Khi làm việc trong nhóm, việc thường xuyên cập nhật nhánh làm việc của bạn với những thay đổi mới nhất từ nhánh chính là rất quan trọng. Điều này giúp giảm thiểu xung đột khi bạn thực hiện merge sau này.

git checkout main
git pull origin main
git checkout feature/awesome-feature
git rebase main

Việc cập nhật thường xuyên cũng giúp bạn kiểm tra tính tương thích của tính năng mới với những thay đổi của nhóm.

7. Hợp nhất có trách nhiệm (responsible merging)

Trước khi thực hiện hợp nhất (merge) bất kỳ thay đổi nào vào nhánh chính, bạn cần đảm bảo rằng:

  • Kiểm tra đầy đủ: Tính năng mới phải được kiểm tra đầy đủ, đảm bảo không có lỗi xảy ra.
  • Không có xung đột: Giải quyết mọi xung đột (conflict) trước khi hợp nhất.
  • Giữ lịch sử rõ ràng: Sử dụng squash commit hoặc rebase để giữ cho lịch sử commit ngắn gọn và dễ theo dõi.

Ví dụ để thực hiện squash commit:

git rebase -i HEAD~n

Trong đó n là số lượng commit bạn muốn gom lại thành một commit.

Kết luận

Việc sử dụng Git hiệu quả không chỉ giúp dự án của bạn trở nên có tổ chức hơn mà còn tăng cường sự hợp tác và giảm thiểu các xung đột không đáng có trong nhóm. Việc tuân thủ các thực hành tốt như sử dụng nhánh hợp lý, viết commit rõ ràng, và kiểm tra kỹ càng trước khi hợp nhất sẽ giúp bạn tránh được những sai sót phổ biến và làm việc một cách hiệu quả hơn. Hãy nhớ rằng, Git không chỉ là công cụ quản lý mã nguồn, mà còn là cầu nối giúp đội ngũ của bạn làm việc đồng bộ và bền vững.

Bài viết gốc được đăng tải tại vntalking.com

Xem thêm:

Xem thêm Việc làm Developer hấp dẫn trên TopDev