20 thủ thuật git trên dòng lệnh mà mọi lập trình viên đều nên biết
Git là công cụ quản lý phiên bản không thể thiếu cho các lập trình viên. Mặc dù các công cụ GUI có thể đơn giản hóa một số tác vụ, nhưng việc nắm vững dòng lệnh Git mang đến khả năng kiểm soát, tính linh hoạt và tốc độ cao hơn. Dưới đây là 20 thủ thuật dòng lệnh Git mà mọi lập trình viên nên biết để hợp lý hóa quy trình làm việc của họ.
Xem thêm: Git là gì? Một số lợi ích tuyệt vời khi sử dụng Git
1. Thiết lập cấu hình chung
Hãy đảm bảo rằng các bản commit của bạn được gắn thẻ với thông tin chính xác.
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
Mẹo: Sử dụng --local thay vì --global để đặt cấu hình dành riêng cho dự án.
2. Hoàn tác Commit cuối cùng (mà không mất thay đổi)
Nếu bạn mắc lỗi trong commit cuối cùng, bạn có thể hoàn tác nó.
git reset --soft HEAD~1
Điều này sẽ giữ các thay đổi của bạn ở trạng thái staged, vì vậy bạn có thể sửa đổi commit hoặc sửa lỗi.
3. Sửa đổi Commit cuối cùng
Bạn quên bao gồm một thay đổi hoặc muốn cập nhật thông báo commit?
git add .
git commit --amend -m "Updated commit message"
Điều này sẽ cập nhật commit trước đó mà không tạo commit mới.
4. Lưu tạm các thay đổi chưa được commit
Bạn cần nhanh chóng chuyển đổi branch mà không cần commit?
git stash
Khôi phục stash sau bằng cách sử dụng:
git stash pop
5. Xem lịch sử commit bằng đồ họa
Việc trực quan hóa lịch sử commit giúp bạn dễ dàng hiểu được trạng thái của dự án.
git log --graph --oneline --all
6. Thay đổi tác giả của commit
Thay đổi tác giả của commit cuối cùng.
git commit --amend --author="New Author <newauthor@example.com>"
7. Kiểm tra sự khác biệt trong các thay đổi đã được staged
Sử dụng git diff để so sánh các tệp ở các giai đoạn khác nhau.
git diff --staged
Điều này hiển thị các thay đổi đã được staged nhưng chưa được commit.
8. Tìm lỗi bằng Bisect
Sử dụng git bisect để tìm commit đã gây ra lỗi.
git bisect start
git bisect bad # Current commit is bad
git bisect good <commit-hash> # A known good commit
Git sẽ xem xét lịch sử commit để xác định commit có vấn đề.
9. Rebase để có lịch sử commit rõ ràng
Rebasing viết lại lịch sử commit của bạn để làm rõ ràng.
git rebase -i HEAD~3
10. Chọn lọc các commit cụ thể
Bạn muốn lấy một commit cụ thể từ một branch khác?
git cherry-pick <commit-hash>
11. Liệt kê tất cả các branch (cả local và remote)
Xem branch nào khả dụng.
git branch -a
12. Dọn dẹp các tệp và thư mục chưa được theo dõi
Nhanh chóng xóa các tệp không mong muốn không được Git theo dõi.
git clean -fd
Sử dụng -n để chạy thử và xem trước những gì sẽ bị xóa.
13. Theo dõi một Upstream Branch
Giữ cho branch local của bạn đồng bộ với một remote branch.
git branch --set-upstream-to=origin/main
14. Gộp các commit bằng Interactive Rebase
Kết hợp nhiều commit thành một.
git rebase -i HEAD~n # Replace 'n' with the number of commits
15. Xem tệp tại một commit cụ thể
Kiểm tra trạng thái của một tệp tại một commit cụ thể.
git show <commit-hash>:path/to/file
16. Chỉnh sửa .gitignore sau khi commit
Nếu bạn quên bỏ qua một số tệp nhất định, hãy cập nhật .gitignore.
echo "node_modules/" >> .gitignore
git rm -r --cached node_modules/
git commit -m "Update .gitignore"
17. Hoàn nguyên một commit đã được push
Hoàn tác các thay đổi từ một commit cụ thể mà không thay đổi lịch sử.
git revert <commit-hash>
18. Chỉ tìm nạp siêu dữ liệu
Bạn muốn tránh tìm nạp toàn bộ kho lưu trữ?
git fetch --dry-run
Điều này cho phép bạn xem những gì sẽ được tìm nạp mà không thực sự tải xuống dữ liệu.
19. Tìm tác giả của một dòng mã
Tìm hiểu ai đã viết một dòng cụ thể trong một tệp.
git blame path/to/file
20. Đặt lại tệp về commit cuối cùng
Bỏ các thay đổi local đối với một tệp cụ thể.
git checkout -- path/to/file
20 thủ thuật dòng lệnh Git này có thể giúp quy trình phát triển của bạn trở nên suôn sẻ hơn, cho dù bạn đang làm việc độc lập hay theo nhóm. Mặc dù các công cụ GUI mang lại sự tiện lợi, nhưng việc nắm vững dòng lệnh Git mang đến khả năng kiểm soát tốt hơn đối với quy trình làm việc của bạn. Hãy thử các lệnh này và nâng cao kỹ năng Git của bạn. Cảm ơn các bạn đã theo dõi.
All rights reserved