Giới Thiệu
Git là một công cụ quản lý phiên bản cực kỳ quan trọng trong phát triển phần mềm. Mặc dù có nhiều công cụ đồ họa (GUI) nhằm đơn giản hóa các tác vụ, việc sử dụng dòng lệnh Git giúp lập trình viên có nhiều khả năng kiểm soát hơn, cũng như hiệu suất cao hơn trong công việc. Dưới đây là 20 thủ thuật dòng lệnh Git mà mỗi lập trình viên cần nắm vững để tối ưu hóa quy trình làm việc của mình.
1. Cấu Hình Thông Tin Người Dùng
Điều đầu tiên mà bạn cần làm khi sử dụng Git là cấu hình tên và email của bạn. Điều này giúp các commit của bạn được xác định rõ ràng.
bash
git config --global user.name "Tên Của Bạn"
git config --global user.email "email@example.com"
Mẹo: Sử dụng --local
để thiết lập cấu hình chỉ cho dự án hiện tại.
2. Hoàn Tác Commit Cuối Cùng (Giữ Thay Đổi)
Nếu bạn đã mắc lỗi trong commit gần nhất, bạn có thể dễ dàng hoàn tác mà không bỏ lỡ các thay đổi của mình.
bash
git reset --soft HEAD~1
3. Sửa Đổi Commit Cuối Cùng
Nếu bạn quên thêm một thay đổi nào đó hoặc muốn chỉnh sửa thông báo commit, bạn có thể làm như sau:
bash
git add .
git commit --amend -m "Cập nhật thông báo commit"
4. Lưu Tạm Thời Các Thay Đổi Chưa Commit
Nếu bạn cần chuyển branch nhưng chưa muốn commit các thay đổi hiện tại, hãy dùng:
bash
git stash
Để phục hồi các thay đổi đã lưu, sử dụng:
bash
git stash pop
5. Xem Lịch Sử Commit Bằng Đồ Họa
Việc hình dung lịch sử commit sẽ giúp bạn theo dõi trạng thái dự án dễ dàng hơn:
bash
git log --graph --oneline --all
6. Thay Đổi Tác Giả Của Commit
Nếu bạn cần thay đổi thông tin tác giả của commit cuối cùng, hãy thực hiện như sau:
bash
git commit --amend --author="Tác Giả Mới <newauthor@example.com>"
7. Kiểm Tra Sự Khác Biệt Trong Những Thay Đổi Đã Staged
Để xem xét sự khác biệt giữa các tệp đã được staged:
bash
git diff --staged
8. Sử Dụng Git Bisect Để Tìm Lỗi
Bạn có thể sử dụng git bisect
để xác định commit nào đã gây ra lỗi:
bash
git bisect start
git bisect bad # Commit hiện tại có vấn đề
git bisect good <commit-hash> # Một commit biết là tốt
9. Sử Dụng Rebase Để Làm Rõ Lịch Sử Commit
Rebase sẽ giúp bạn viết lại lịch sử commit cho rõ ràng hơn:
bash
git rebase -i HEAD~3
10. Chọn Lọc Commit Cụ Thể Từ Branch Khác
Nếu bạn 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
Để xem danh sách các nhánh local và remote hiện có:
bash
git branch -a
12. Dọn Dẹp Tệp Tin Chưa Được Theo Dõi
Để loại bỏ nhanh chóng các tệp không cần thiết:
bash
git clean -fd
Sử dụng -n
để chạy thử và xem những gì sẽ bị xóa.
13. Theo Dõi Upstream Branch
Để đồng bộ hóa branch local với branch remote:
bash
git branch --set-upstream-to=origin/main
14. Gộp Các Commit Thành Một
Kết hợp nhiều commit trong một:
bash
git rebase -i HEAD~n # Thay thế 'n' bằng số lượng commit
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:
bash
git show <commit-hash>:path/to/file
16. Chỉnh Sửa .gitignore Sau Khi Commit
Nếu bạn quên thêm một số tệp vào .gitignore:
bash
echo "node_modules/" >> .gitignore
git rm -r --cached node_modules/
git commit -m "Cập nhật .gitignore"
17. Hoàn Nguyên Một Commit Đã Được Push
Để hoàn tác các thay đổi từ một commit mà không ảnh hưởng đến lịch sử:
bash
git revert <commit-hash>
18. Chỉ Tìm Nạp Siêu Dữ Liệu
Để kiểm tra các update mà không tải toàn bộ repository:
bash
git fetch --dry-run
19. Xác Định Tác Giả Của Một Dòng Mã
Để tìm hiểu ai là tác giả của một dòng mã nhất định:
bash
git blame path/to/file
20. Đặt Lại Tệp Về Commit Cuối Cùng
Để loại bỏ các thay đổi local đối với một tệp cụ thể:
bash
git checkout -- path/to/file
Kết Luận
Những thủ thuật dòng lệnh Git này sẽ giúp bạn tối ưu hóa quy trình phát triển của mình, cho dù bạn làm việc một mình hay trong nhóm. Dù cho các công cụ GUI có thể thuận tiện, việc hiểu và sử dụng dòng lệnh Git sẽ mang đến cho bạn nhiều quyền kiểm soát hơn trong công việc. Hãy thử nghiệm với các lệnh này để nâng cao kỹ năng Git của bạn!
source: viblo