+3

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ọ.

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

Viblo
Let's register a Viblo Account to get more interesting posts.