0
0
Lập trình
Flame Kris
Flame Krisbacodekiller

Sử Dụng Git Như Một Chuyên Gia: Lời Khuyên và Mẹo

Đăng vào 8 tháng trước

• 4 phút đọc

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

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 Copy
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 Copy
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 Copy
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 Copy
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 Copy
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 Copy
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 Copy
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 Copy
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 Copy
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 Copy
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 Copy
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 Copy
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! ;)

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào