Git cơ bản: Cheat sheet các lệnh Git mọi lập trình viên cần biết
Mục lục bài viết
1. Thiết lập và cấu hình Git
Sau khi cài Git: git config --global user.name "Tên" và git config --global user.email "email@example.com".
Kiểm tra: git config --list.
Tạo alias: git config --global alias.co checkout, git config --global alias.br branch, git config --global alias.lg 'log --oneline --all --graph'.
2. Các lệnh cơ bản hàng ngày
git init- Khởi tạo repository.git clone- Sao chép từ xa về máy.git add/git add .- Thêm vào staging.git commit -m "message"- Lưu snapshot.git status- Xem trạng thái thay đổi.git log --oneline- Xem lịch sử commit.git diff- Xem khác biệt file hiện tại với commit cuối.
3. Làm việc với nhánh (Branch) và remote
git branch- Tạo nhánh mới.git switch- Chuyển nhánh.git merge- Gộp nhánh.git pull- Lấy code mới từ remote.git push origin- Đẩy commit lên remote.git remote -v- Danh sách remote.- Quy trình chuẩn:
git pull → git add → git commit → git push.
4. Xử lý lỗi và khôi phục
git reset --soft HEAD~1- Undo commit giữ thay đổi.git reset --hard HEAD~1- Undo commit xóa thay đổi.git revert- Tạo commit mới đảo ngược thay đổi (an toàn cho remote).git stash- Tạm cất thay đổi để chuyển nhánh.git stash pop- Lấy lại thay đổi đã stash.
🙋 Câu hỏi thường gặp
Sự khác biệt giữa git pull và git fetch là gì?
git fetch chỉ tải dữ liệu mới từ remote về mà không tự động merge. git pull = git fetch + git merge. Nếu không muốn merge tự động, dùng git fetch để kiểm tra trước.
Làm thế nào để undo commit gần nhất?
Nếu chưa push: git reset --soft HEAD~1 (giữ thay đổi) hoặc git reset --hard HEAD~1 (xóa hoàn toàn).
Nếu đã push: dùng git revert để tạo commit đảo ngược, không mất lịch sử.
Xung đột (conflict) khi merge xảy ra khi nào?
Xung đột xảy ra khi hai nhánh cùng sửa một dòng code khác nhau. Git đánh dấu file conflict với <<<<<<<, =======, >>>>>>>. Mở file, chỉnh sửa thủ công, xóa marker, sau đó git add và git commit.