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

12 Lệnh Git Tuyệt Vời Bạn Có Thể đã Bỏ Lỡ

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

• 4 phút đọc

12 Lệnh Git Tuyệt Vời Bạn Có Thể đã Bỏ Lỡ

Trong thế giới phát triển hiện nay, Git đã trở thành một công cụ không thể thiếu cho lập trình viên ở mọi cấp độ, từ những người mới làm quen đến những chuyên gia dày dạn kinh nghiệm. Đó là một công cụ mà chúng ta sử dụng hàng ngày, nhưng có bao giờ bạn tự hỏi về những lệnh Git ít được biết đến có thể cải thiện quy trình làm việc của bạn?

Dưới đây là 12 lệnh Git có thể sẽ khiến bạn bất ngờ với tính hữu ích và hiệu quả của chúng.

1. Git stash

Lệnh git stash rất hữu ích trong các quy trình làm việc với nhiều nhánh và nhiều người. Trong thực tế, có thể bạn đã gặp trường hợp bạn đang phát triển trên một nhánh và trưởng nhóm nói “hệ thống cần bạn sửa lỗi khẩn cấp trên một nhánh khác”, làm thế nào để bạn lưu trữ mã nguồn hiện tại mà không cần commit?

bash Copy
# Lưu các thay đổi chưa commit
git stash

# Khôi phục lại các thay đổi
git stash pop

Cre: Scaler

2. Git diff

Khi bạn cần so sánh giữa những thay đổi chưa được lưu và commit trước đó, git diff là lệnh bạn nên biết khi sử dụng Git bên cạnh các GUI hay tiện ích mở rộng của Git.

bash Copy
git diff

3. Git rebase

Rebase là một tính năng mạnh mẽ bên cạnh tính năng Merge trong Git với mục đích giống nhau nhưng bằng phương pháp khác nhau. Tính năng tuyệt vời nhất mà git rebase mang lại là giữ cho cây Git gọn gàng, thẳng và tránh tình trạng “hình thoi” trong biểu đồ Git.

bash Copy
# Chuyển đến nhánh feature
git switch feature

# Rebase nhánh feature vào main
git rebase -i main feature

Cre: ByteByteGo

4. Git cherry-pick

Lệnh git cherry-pick được sử dụng để áp dụng một commit cụ thể từ một nhánh sang nhánh khác. Điều này hữu ích khi bạn muốn chọn lọc các thay đổi từ một nhánh mà không cần phải hợp nhất toàn bộ nhánh.

bash Copy
git cherry-pick <commit-hash>

5. Git log

Với git log, bạn có thể hiển thị tất cả các log commit trong Git bao gồm commit hash, thông điệp commit, tác giả của commit và ngày của commit đó.

bash Copy
git log

6. Git commit --amend

Nếu bạn muốn thay đổi thông tin về commit của mình, lệnh git commit --amend chính là câu trả lời. Bạn có thể thay đổi thông tin của commit như: thông điệp và tác giả.

bash Copy
git commit --amend -m "Thông điệp commit mới" --author="Tên Tác Giả <email@example.com>"

7. Git tag

Việc gán nhãn các phiên bản trong Git bằng lệnh git tag là một thực tiễn phổ biến để đánh dấu các điểm quan trọng trong kho lưu trữ của bạn, chẳng hạn như phát hành hoặc các dấu mốc. Bạn có thể đánh dấu các commit bằng số phiên bản hoặc các định danh có ý nghĩa khác.

bash Copy
git tag -a v1.0 -m "Phát hành phiên bản 1.0" <commit-hash>

8. Git checkout .

Khi bạn cần làm sạch tất cả các thay đổi cục bộ hoặc thêm mã để hiển thị logs trên máy chủ nhằm theo dõi lỗi và sửa lỗi khẩn cấp, git checkout . là lệnh mạnh mẽ mà bạn nên biết.

bash Copy
git checkout .

9. Git reset

git reset là một lệnh mạnh mẽ trong Git cho phép bạn thiết lập HEAD hiện tại về một trạng thái đã cho. Nó thường được sử dụng để hoàn tác các thay đổi, di chuyển HEAD đến một commit khác hoặc bỏ đánh dấu các thay đổi.

Nếu bạn muốn di chuyển HEAD đến một commit cụ thể nhưng giữ nguyên các thay đổi trong thư mục làm việc và khu vực đã đánh dấu, bạn có thể sử dụng soft reset. Nếu bạn muốn hoàn toàn hoàn tác commit cuối cùng và loại bỏ các thay đổi từ commit đó, sử dụng git reset hard.

bash Copy
# soft reset
git reset --soft <commit-hash>

# hard reset
git reset --hard HEAD^

10. Git revert

git revert là một lệnh được sử dụng để tạo một commit mới hoàn tác các thay đổi được thực hiện bởi một commit cụ thể hoặc nhiều commit. Khác với git reset, lệnh này không thay đổi lịch sử commit mà duy trì lịch sử bằng cách tạo ra một commit mới.

bash Copy
git revert <commit-hash>

11. Git remote --prune

Lệnh git remote --prune được sử dụng để xóa bất kỳ tham chiếu theo dõi удалённа nào không còn tồn tại trên kho lưu trữ từ xa. Qua thời gian, những tham chiếu này có thể trở nên lạc hậu nếu các nhánh bị xóa hoặc đổi tên trên kho lưu trữ từ xa.

bash Copy
git remote prune origin

Với lệnh này, bạn có thể đồng bộ hoá cục bộ với không gian làm việc git từ xa.

12. Git filter-branch

git filter-branch là một lệnh mạnh mẽ nhưng có thể nguy hiểm trong Git cho phép bạn chỉnh sửa lịch sử commit của một kho lưu trữ. Nó thường được sử dụng để chỉnh sửa các commit nhằm áp dụng nhiều bộ lọc hoặc biến đổi.

Lệnh này có thể hữu ích cho các tác vụ như xóa dữ liệu nhạy cảm khỏi lịch sử, chỉnh sửa thông điệp commit hoặc phân tách một kho lưu trữ thành nhiều kho lưu trữ.

Ví dụ, nếu bạn cần sửa đổi tác giả trong lịch sử commit trong kho lưu trữ, bạn có thể sử dụng lệnh sau:

bash Copy
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="your_old_email"
CORRECT_NAME="your_new_name"
CORRECT_EMAIL="your_new_email"

if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]; then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi

if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]; then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

Phụ Lục

Bài viết này được viết bởi tác giả tự do từ nhiều nền tảng:

source: viblo

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