Git là một công cụ quản lý phiên bản không thể thiếu trong quá trình phát triển phần mềm của lập trình viên. Mặc dù các công cụ giao diện đồ họa (GUI) giúp đơn giản hóa một số thao tác, việc làm chủ dòng lệnh Git mang lại cho bạn sự linh hoạt và kiểm soát tối ưu hơn trong công việc hàng ngày. Dưới đây là danh sách 20 lệnh Git hữu ích mà mọi lập trình viên nên biết để nâng cao hiệu suất làm việc.
1. Thiết lập cấu hình toàn cầu
Lập trình viên cần đảm bảo rằng mọi commit đều gắn với thông tin cá nhân đúng của mình. Sử dụng các lệnh sau để thiết lập:
bash
git config --global user.name "Tên của bạn"
git config --global user.email "email@example.com"
💡 Mẹo: Nếu bạn muốn thiết lập cấu hình riêng cho từng dự án, hãy thay thế --global
bằng --local
.
2. Hoàn tác commit cuối (không mất thay đổi)
Khi bạn mắc lỗi ở commit gần nhất, có thể hoàn tác để sửa chữa mà không làm mất đi các thay đổi đã staging:
bash
git reset --soft HEAD~1
3. Chỉnh sửa commit cuối
Nếu muốn thay đổi mô tả của commit cuối cùng, bạn có thể sử dụng:
bash
git add .
git commit --amend -m "Mô tả commit mới"
Lệnh này sẽ cập nhật commit trước mà không tạo ra commit mới.
4. Lưu trữ tạm thời các thay đổi chưa commit
Nếu bạn cần chuyển sang nhánh khác mà không muốn commit, hãy sử dụng:
bash
git stash
💡 Để lấy lại thay đổi đã lưu trữ, bạn có thể dùng:
bash
git stash pop
5. Xem lịch sử commit dưới dạng đồ họa
Để hiển thị lịch sử commit một cách trực quan, bạn có thể sử dụng:
bash
git log --graph --oneline --all
6. Thay đổi tác giả của commit
Nếu cần thay đổi tác giả của commit cuối cùng:
bash
git commit --amend --author="Tác giả mới <email@example.com>"
7. Kiểm tra sự khác biệt của các thay đổi đã staged
Để so sánh các thay đổi ở các trạng thái khác nhau:
bash
git diff --staged
8. Tìm bug bằng Bisect
Sử dụng git bisect
để tìm ra commit gây ra lỗi:
bash
git bisect start
git bisect bad # Commit hiện tại có lỗi
git bisect good <commit-hash> # Một commit trước đó không có lỗi
Git sẽ tự động kiểm tra lịch sử để phát hiện commit lỗi.
9. Rebase để làm sạch lịch sử commit
Rebasing giúp bạn cải thiện độ rõ ràng trong lịch sử commit:
bash
git rebase -i HEAD~3
10. Cherry-Pick commit cụ thể
Khi cần lấy một commit từ nhánh khác:
bash
git cherry-pick <commit-hash>
11. Liệt kê tất cả các nhánh (local và remote)
Xem tất cả các nhánh hiện có:
bash
git branch -a
12. Xóa các tệp và thư mục không được theo dõi
Nếu bạn cần xóa tệp không được Git theo dõi:
bash
git clean -fd
💡 Sử dụng -n
để xem trước trước khi thực hiện.
13. Theo dõi một nhánh upstream
Để giữ cho nhánh local đồng bộ với nhánh remote:
bash
git branch --set-upstream-to=origin/main
14. Gộp commit bằng Rebase tương tác
Kết hợp các commit thành một commit duy nhất:
bash
git rebase -i HEAD~n # Thay 'n' bằng số lượng commit bạn muốn gộp
15. Xem tệp tại một commit cụ thể
Kiểm tra trạng thái của tệp tại một commit nhất định:
bash
git show <commit-hash>:đường/dẫn/tới/tệp
16. Chỉnh sửa .gitignore sau khi commit
Nếu bạn quên bỏ qua tệp:
bash
echo "node_modules/" >> .gitignore
git rm -r --cached node_modules/
git commit -m "Cập nhật .gitignore"
17. Hoàn tác một commit đã đẩy lên
Để hoàn tác các thay đổi từ một commit mà không làm mất lịch sử:
bash
git revert <commit-hash>
18. Fetch chỉ metadata
Nếu bạn không muốn tải toàn bộ dữ liệu:
bash
git fetch --dry-run
19. Blame một dòng code
Tìm hiểu xem ai đã viết một dòng code cụ thể:
bash
git blame đường/dẫn/tới/tệp
20. Reset một tệp về commit cuối cùng
Để loại bỏ các thay đổi local cho một tệp:
bash
git checkout -- đường/dẫn/tới/tệp
Việc nắm vững những lệnh Git này sẽ giúp bạn tối ưu hóa quy trình phát triển, dù bạn làm việc độc lập hay trong một nhóm. Mặc dù giao diện đồ họa có những ưu điểm, nhưng biết sử dụng dòng lệnh Git sẽ mang lại cho bạn nhiều quyền kiểm soát hơn trong quá trình phát triển. Hãy thử áp dụng những lệnh này để nâng cao kỹ năng Git của bạn và cải thiện quy trình làm việc của mình.
source: viblo