Git Stash là gì? Hướng dẫn sử dụng hiệu quả cho mọi lập trình viên

Bởi Bùi Thị Thu Hà • 2026-07-25 14:35:00 • Chuyên mục: Lập trình

Trong quá trình phát triển phần mềm, đôi khi bạn cần tạm thời lưu trữ những thay đổi chưa hoàn thiện để chuyển sang một nhiệm vụ khác hoặc xử lý một lỗi khẩn cấp. Git stash chính là công cụ đắc lực giúp bạn thực hiện điều này một cách gọn gàng và hiệu quả. Bài viết này sẽ đi sâu vào phân tích git stash là gì, lý do cần sử dụng và hướng dẫn chi tiết cách áp dụng các lệnh liên quan.

Điểm cốt lõi về Git Stash: Git stash cho phép bạn lưu trữ tạm thời các thay đổi chưa commit của mình, trả lại thư mục làm việc sạch sẽ để bạn có thể chuyển đổi công việc hoặc xử lý các vấn đề khẩn cấp. Các thay đổi này được lưu trữ dưới dạng một "stack" (ngăn xếp), có thể được khôi phục lại bất cứ lúc nào.

Tại sao bạn cần sử dụng Git Stash?

Trong môi trường phát triển phần mềm, tính linh hoạt và khả năng thích ứng nhanh là yếu tố then chốt. Có nhiều tình huống mà git stash trở nên vô cùng hữu ích:

Git stash đóng vai trò quan trọng trong việc quản lý trạng thái làm việc chưa hoàn thiện.

Các lệnh Git Stash cơ bản và cách sử dụng

Git cung cấp một bộ lệnh mạnh mẽ để quản lý các stash. Dưới đây là những lệnh thông dụng nhất:

Lưu trữ thay đổi với git stash hoặc git stash push

Để lưu trữ các thay đổi hiện tại (bao gồm cả những thay đổi đã staged và unstaged trong các tệp đã được theo dõi), bạn sử dụng lệnh:

git stash

Lệnh này sẽ lưu lại trạng thái hiện tại của thư mục làm việc và khu vực staging, đồng thời làm sạch chúng. Nếu bạn muốn thêm một thông điệp mô tả cho stash để dễ nhớ, hãy sử dụng:

git stash push -m "Thông điệp mô tả stash của bạn"

Ví dụ:

git stash push -m "WIP: Đang phát triển tính năng đăng nhập"

Thêm thông điệp giúp nhận diện stash dễ dàng hơn.

Xem danh sách các Stash với git stash list

Khi bạn có nhiều stash, việc xem lại danh sách là cần thiết. Lệnh git stash list sẽ hiển thị tất cả các stash đã được lưu trữ, theo thứ tự từ mới nhất đến cũ nhất:

git stash list

Kết quả hiển thị sẽ có dạng:

stash@{0}: On main: WIP: Đang phát triển tính năng đăng nhập stash@{1}: On feature-branch: Thêm các thay đổi ban đầu cho API stash@{2}: WIP on main: abc1234 Thêm một số cập nhật nhỏ

Trong đó, stash@{0} là stash mới nhất.

Áp dụng lại Stash với git stash apply

Để khôi phục lại các thay đổi từ một stash, bạn sử dụng lệnh git stash apply. Theo mặc định, lệnh này sẽ áp dụng stash mới nhất (stash@{0}).

git stash apply

Nếu bạn muốn áp dụng một stash cụ thể, hãy chỉ định tên của nó:

git stash apply stash@{1}

Lưu ý: git stash apply sẽ khôi phục lại các thay đổi nhưng vẫn giữ stash đó trong danh sách. Điều này hữu ích khi bạn muốn áp dụng cùng một stash cho nhiều nhánh khác nhau.

Kết hợp áp dụng và xóa Stash với git stash pop

Nếu bạn chỉ muốn áp dụng một stash và sau đó xóa nó khỏi danh sách ngay lập tức, hãy sử dụng lệnh git stash pop.

git stash pop

Tương tự như apply, bạn có thể chỉ định stash cụ thể:

git stash pop stash@{2}

Đây là lệnh thường được sử dụng nhất khi bạn đã sẵn sàng tiếp tục công việc đã tạm lưu.

Xem chi tiết nội dung Stash với git stash show

Để xem những thay đổi nào đã được lưu trong một stash mà không cần áp dụng chúng, bạn dùng git stash show:

git stash show (hiển thị thay đổi của stash mới nhất)

git stash show stash@{1} (hiển thị thay đổi của stash cụ thể)

Lệnh này sẽ hiển thị tóm tắt về các tệp đã thay đổi. Để xem chi tiết từng dòng thay đổi, bạn có thể thêm tùy chọn -p (patch):

git stash show -p

Lưu ý khi sử dụng Git Stash

Mặc dù git stash rất tiện lợi, có một vài điểm bạn cần lưu ý:

Kết luận

Git stash là một công cụ không thể thiếu trong bộ công cụ của bất kỳ lập trình viên nào sử dụng Git. Nó giúp bạn quản lý trạng thái làm việc của mình một cách linh hoạt, giữ cho thư mục làm việc luôn sạch sẽ và lịch sử commit gọn gàng. Hãy thực hành sử dụng các lệnh git stash apply, git stash pop, và git stash list thường xuyên để làm chủ công cụ này và nâng cao hiệu suất làm việc của bạn.

#Lập trình #DevOps #Git #Quản lý mã nguồn