

Git là công cụ quản lý phiên bản phổ biến nhất thế giới, và biết dùng Git chuẩn là kỹ năng cơ bản nhất của lập trình viên hiện đại. Bài viết này tổng hợp các lệnh Git cần thiết nhất theo quy trình làm việc thực tế, giúp bạn làm quen nhanh mà không bị rối giữa hàng trăm lệnh.
Git là gì và vì sao cần học
Git là hệ thống kiểm soát phiên bản phân tán, ghi lại toàn bộ lịch sử thay đổi của mã nguồn. Nhờ Git, bạn có thể quay lại bất kỳ thời điểm nào, làm việc song song trên nhiều nhánh và cộng tác với nhóm mà không lo đè code của nhau. Theo trang chủ Git, Git đang được dùng bởi hàng triệu dự án trên thế giới.
Cài đặt và cấu hình ban đầu
Cài Git trên Ubuntu hoặc Debian chỉ cần một lệnh: sudo apt install git. Trên Windows bạn tải bộ cài từ git-scm.com.
Sau khi cài, khai báo tên và email để các commit ghi đúng tác giả:
git config --global user.name "Ten Cua Ban"
git config --global user.email "[email protected]"
Khởi tạo kho chứa và commit đầu tiên
git init— khởi tạo kho chứa trong thư mục hiện tạigit status— xem trạng thái các file đang thay đổigit add .— đưa toàn bộ thay đổi vào vùng chờgit commit -m "thông điệp"— lưu lại một mốc lịch sử
Nguyên tắc vàng: commit nhỏ, thường xuyên, mỗi commit chỉ mô tả một thay đổi duy nhất. Thông điệp commit nên viết dạng mệnh lệnh ngắn gọn, ví dụ fix: sửa lỗi đăng nhập.
Làm việc với nhánh (branch)
Nhánh cho phép phát triển tính năng mới tách biệt khỏi code chính:
git branch— liệt kê nhánh hiện cógit branch ten-nhanh— tạo nhánh mớigit checkout ten-nhanh— chuyển sang nhánhgit checkout -b ten-nhanh— tạo và chuyển ngaygit merge ten-nhanh— gộp nhánh vào nhánh hiện tại
Trước khi merge, luôn chạy git pull để lấy code mới nhất từ server, tránh xung đột không đáng có.
Làm việc với kho từ xa (remote)
git clone https://github.com/ten/du-an.git— sao chép kho về máygit remote add origin url— liên kết kho từ xagit push— đẩy commit lên servergit pull— kéo thay đổi mới nhất vềgit fetch— tải thay đổi về nhưng chưa gộp
git pull thực chất là git fetch cộng git merge. Khi làm việc nhóm, hãy kéo về trước khi push để hạn chế xung đột.
Xử lý tình huống thường gặp
git log --oneline— xem lịch sử commit dạng gọngit diff— xem chi tiết thay đổi chưa commitgit stash— tạm cất thay đổi dở dang để chuyển nhánhgit reset --hard HEAD~1— bỏ commit gần nhất (cẩn thận, không thể hoàn tác)git revert id-commit— tạo commit ngược, an toàn hơn reset
Quy trình làm việc chuẩn trong nhóm
Quy trình phổ biến nhất hiện nay là Git Flow gọn nhẹ: nhánh main luôn ổn định, mỗi tính năng làm trên nhánh riêng rồi merge qua pull request. Hệ thống này được GitHub, GitLab và Bitbucket hỗ trợ sẵn.
Giải quyết xung đột khi merge
Xung đột xảy ra khi hai người sửa cùng một dòng code trên hai nhánh khác nhau. Git sẽ đánh dấu vùng xung đột trong file bằng các ký hiệu <<<<<<< và >>>>>>>, kèm tên nhánh để bạn biết phần nào đến từ đâu. Cách xử lý:
- Mở file và tìm vùng xung đột
- Giữ lại phần code đúng, xóa các dòng đánh dấu
- Chạy
git add ten-fileđể xác nhận đã giải quyết - Chạy
git commitđể hoàn tất merge
Muốn tránh xung đột, hãy chia nhỏ file, mỗi người phụ trách module riêng và thường xuyên kéo code mới về nhánh của mình.
Các alias nên thiết lập sớm
Git cho phép tạo alias rút gọn lệnh, tiết kiệm đáng kể thời gian thao tác hàng ngày:
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.last 'log -1 HEAD'
git config --global alias.unstage 'reset HEAD --'
Với các alias trên, bạn chỉ cần gõ git st thay vì git status, git co thay vì git checkout. Đây là một trong những mẹo nhỏ nhưng giúp tăng tốc đáng kể khi làm việc với terminal.
Mẹo tăng năng suất
- Thêm file
.gitignorengay từ đầu để loại bỏ file thừa nhưnode_modules,.env - Dùng
git add -pđể chọn từng phần thay đổi đưa vào commit - Đặt tên nhánh theo quy ước như
feature/dang-nhap,fix/loi-api - Học thêm các lệnh nâng cao như
rebase,cherry-picksau khi đã vững phần cơ bản
Git không khó nếu bạn học theo luồng làm việc thay vì học thuộc lòng danh sách lệnh. Chỉ cần nắm commit, branch, push, pull là bạn đã sử dụng được 80% công việc hàng ngày với Git.
