Hướng Dẫn Sử Dụng Git Như Một Chuyên Gia
Chào các bạn, trong bài viết này, tôi sẽ hướng dẫn bạn cách sử dụng Git một cách hiệu quả như một chuyên gia. Chúng ta sẽ khám phá 10 lệnh Git mà các lập trình viên kỳ cựu thường xuyên sử dụng. Bạn có thể đã biết một số lệnh này, nhưng tôi khuyên bạn nên đọc đến cuối bài vì chắc chắn bạn sẽ học được điều gì đó mới mẻ và hữu ích.
Mục Lục
- Giai đoạn và Cam kết trong Một Lệnh
- Tạo và Chuyển Đổi đến Nhánh Mới
- Ghi Đè Cam Kết Gần Nhất
- Xem Tệp từ Nhánh Khác
- Sắp Xếp Nhánh Theo Ngày Cam Kết
- Hoàn tác một Cam Kết nhưng Giữ Lại Thay Đổi
- Đặt lại Lịch Sử Cam Kết và Tùy Chọn Bỏ Qua hoặc Giữ Thay Đổi
- Nhật Ký Nâng Cao
- Video Hướng Dẫn: Các Lệnh Git với Ví Dụ
- Kết Luận
Giai đoạn và Cam kết trong Một Lệnh
Thay vì sử dụng hai lệnh riêng biệt để giai đoạn các tệp đã chỉnh sửa và sau đó cam kết chúng, bạn có thể thực hiện tất cả trong một lần.
Thông thường, bạn sẽ sử dụng git add . sau đó là git commit -m “tin nhắn”. Nhưng bạn có thể kết hợp chúng thành một lệnh hiệu quả:
bash
git commit -am "tin nhắn"
Lệnh này sẽ giai đoạn tất cả các tệp đã chỉnh sửa và cam kết chúng với tin nhắn của bạn chỉ trong một bước.
Tạo và Chuyển Đổi đến Nhánh Mới
Đây là một phím tắt tuyệt vời khác. Để tạo một nhánh mới và ngay lập tức chuyển đến nó, bạn có thể kết hợp hai lệnh thành một. Thay vì sử dụng git branch và sau đó git checkout, bạn có thể sử dụng:
bash
git checkout -b <nhánh-mới>
Lệnh này sẽ tạo nhánh mới và chuyển thư mục làm việc của bạn đến đó.
Ghi Đè Cam Kết Gần Nhất
Nếu bạn cần thay đổi cam kết gần nhất, bạn có thể sử dụng lệnh amend. Điều này hữu ích để thay đổi tin nhắn cam kết hoặc thêm các thay đổi vào cam kết cuối cùng. Bạn cũng có thể sử dụng một phím tắt để thay đổi tin nhắn cam kết trong một dòng:
bash
git commit --amend
git commit --amend -m "tin nhắn mới"
Xem Tệp từ Nhánh Khác
Bạn có bao giờ muốn xem một tệp trông như thế nào trong một nhánh khác mà không phải chuyển nhánh không? Lệnh này cực kỳ hữu ích. Bạn có thể xem nội dung của một tệp từ nhánh khác với:
bash
git show <tên-nhánh>:<tên-tệp>
Ví dụ, để xem tệp README.md từ nhánh chính, bạn sẽ sử dụng:
bash
git show main:README.md
Sắp Xếp Nhánh Theo Ngày Cam Kết
Đối với các lập trình viên làm việc trên các dự án lớn với nhiều nhánh, lệnh này là một cứu cánh. Theo mặc định, git branch sẽ liệt kê các nhánh theo thứ tự ngẫu nhiên. Để sắp xếp chúng theo ngày cam kết gần nhất, hãy sử dụng:
bash
git branch --sort=-committerdate
Bạn thậm chí có thể đặt điều này là mặc định toàn cầu của bạn với:
bash
git config --global branch.sort -committerdate
Hoàn tác một Cam Kết nhưng Giữ Lại Thay Đổi
Nếu bạn muốn hoàn tác cam kết cuối cùng nhưng giữ lại tất cả các thay đổi trong thư mục làm việc của bạn, lệnh này dành cho bạn.
bash
git reset --soft HEAD~1
Lệnh git reset --soft HEAD~1 sẽ di chuyển con trỏ HEAD quay lại một cam kết, nhưng để lại các tệp của bạn như chúng vốn có, sẵn sàng để được cam kết lại.
Đặt lại Lịch Sử Cam Kết và Tùy Chọn Bỏ Qua hoặc Giữ Thay Đổi
Di chuyển con trỏ HEAD quay lại một cam kết và bỏ qua các thay đổi, để lại chúng trong thư mục làm việc của bạn.
bash
git reset --mixed HEAD~1
Di chuyển HEAD quay lại và bỏ cả thay đổi đã giai đoạn và trong thư mục làm việc.
bash
git reset --hard HEAD~1
Những lệnh này kết hợp thao tác lịch sử với việc kiểm soát những gì xảy ra với các sửa đổi cục bộ của bạn.
Nhật Ký Nâng Cao
Nhật ký git mặc định có thể hơi đơn điệu. Bạn có thể nhận được một nhật ký chi tiết và hấp dẫn hơn với những lệnh này:
Điều này cho thấy tin nhắn cam kết, các tệp nào đã được thay đổi, và bao nhiêu dòng đã được thêm hoặc xóa.
bash
git log --decorate --stat
Điều này cung cấp một cái nhìn đồ họa ngắn gọn về lịch sử cam kết của bạn, giúp dễ dàng nhìn thấy các nhánh và hợp nhất.
bash
git log --graph --oneline --decorate
Video Hướng Dẫn: Các Lệnh Git với Ví Dụ
Xem trên YouTube: Các Lệnh Git cho Chuyên Gia
Kết Luận
Hy vọng bạn thấy những lệnh Git nâng cao này hữu ích. Nếu bạn thích bài viết này, hãy cho nó một lượt thích và chia sẻ với các lập trình viên khác.
Nếu bạn muốn chia sẻ các lệnh hữu ích khác, hãy làm điều đó trong phần bình luận dưới đây!
Chúc các bạn thành công! ;)