:quality(75)/2024_1_11_638405913509991475_git-stash-1-1.jpg)
Git stash là gì? Hướng dẫn cách sử dụng lệnh Git stash effect hiệu quả cho người học lập trình
FPT Shop sẽ giải đáp câu hỏi Git stash là gì và cách sử dụng lệnh như thế nào hiệu quả? Nhờ các tính năng tuyệt vời đã giúp Git stash trở thành một công cụ hữu ích trong quá trình phát triển phần mềm, giúp quản lý các thay đổi tạm thời một cách linh hoạt và chuẩn xác.
Git stash là một trong những khái niệm thường gặp nếu bạn đang làm việc với Git tools. Nền tảng hỗ trợ người dùng sửa lỗi lập trình trong những trường hợp cần thiết. Vậy Git stash là gì? Cách sử dụng công cụ như thế nào? Mời bạn cùng FPT Shop tìm hiểu đáp án thông qua bài viết dưới đây.
Định nghĩa Git stash là gì?
Git stash là một công cụ trong Git được sử dụng để tạm thời lưu trữ các thay đổi chưa commit. Điều này sẽ giúp người dùng có thể làm việc trên một phần của codebase mà không cần phải commit hoặc discard những thay đổi đó.
Khi bạn sử dụng Git stash, Git sẽ lưu trữ tất cả các thay đổi chưa commit và index (staging area) mà không làm thống nhất trạng thái working directory. Hệ thống cho phép người dùng dễ dàng làm việc trên một nhánh khác hoặc sửa lỗi mà không cần phải commit những thay đổi chưa hoàn chỉnh.

Khi bạn muốn áp dụng các thay đổi đã chứa trong stash có thể tận dụng chúng trở lại vào trạng thái working directory. Ngoài ra, người dùng cũng có thể áp dụng, xem danh sách và xóa các stash đã lưu trữ.
Đây là một công cụ hữu ích khi bạn cần chuyển đổi giữa các nhiệm vụ hay khi cần phải làm việc trên một vấn đề khác mà không gây ảnh hưởng đến công việc hiện tại của bạn.
Những trường hợp cần sử dụng lệnh Git stash
Lưu lại những thay đổi
Tính năng lưu lại những thay đổi của Git stash cho phép bạn tạm thời lưu trữ các thay đổi chưa commit mà không cần phải tạo một commit mới. Khi sử dụng tính năng này, các thay đổi chưa commit sẽ được lưu lại trong stash stack và working directory sẽ trở về trạng thái như lúc bạn checkout branch hoặc commit mới nhất. Một số tiện ích chính của công cụ bao gồm:

- Lưu trữ thay đổi tạm thời: Bạn có thể sử dụng Git stash để lưu trữ các thay đổi chưa commit mà không cần tạo commit mới. Điều này cho phép bạn tạm thời lưu trữ các thay đổi mà không làm ảnh hưởng đến lịch sử commit của project.
- Phục hồi thay đổi đã lưu: Sau khi lưu trữ thay đổi vào stash, bạn có thể áp dụng chúng trở lại vào trạng thái working directory. Hệ thống cho phép bạn tiếp tục làm việc trên các thay đổi đó hoặc chuyển đổi giữa các nhiệm vụ mà không cần phải commit những thay đổi chưa hoàn chỉnh.
- Quản lý stash stack: Bạn có thể xem danh sách các stash đã lưu, áp dụng chúng vào trạng thái working directory hoặc xóa chúng khi không cần thiết. Đây là tiện ích giúp bạn quản lý các phiên bản stash một cách hiệu quả.
Ví dụ minh họa
Để minh họa cách sử dụng lệnh Git stash, hãy giả sử bạn đang làm việc trên một tính năng mới nhưng phát hiện ra rằng bản thân cần phải tạm thời chuyển sang sửa một lỗi trên production code mà không muốn commit các thay đổi đang được làm trong tính năng đó. Trong tình huống này, bạn có thể sử dụng lệnh Git stash như sau:
- Kiểm tra trạng thái của các tập tin:
git status
- Lưu trữ các thay đổi chưa commit vào stash:
Git stash save "Temporary save for new feature"
- Kiểm tra danh sách các stash đã lưu:
Git stash list
- Áp dụng các thay đổi của stash vào working directory khi bạn đã hoàn thành việc sửa lỗi trên production code:
Git stash apply
- Kiểm tra lại trạng thái của các tập tin:
git status
- Nếu bạn đã hoàn thành việc áp dụng thay đổi từ stash và không cần sử dụng lại nó, bạn có thể xóa stash này:
Git stash drop
Qua ví dụ trên, bạn có thể thấy cách sử dụng lệnh Git stash để tạm thời lưu trữ các thay đổi chưa commit. Sau đó áp dụng chúng trở lại khi cần thiết và quản lý các stash đã lưu.
Xem danh sách đã lưu
Đây là một tính năng trong Git stash cho phép bạn xem danh sách các stash đã lưu để quản lý và quyết định áp dụng chúng vào working directory hay xóa chúng khi cần thiết.

- Để xem danh sách các stash đã lưu, bạn có thể sử dụng lệnh sau:
Git stash list
- Khi bạn thực hiện lệnh này, Git sẽ hiển thị danh sách các stash đã lưu, mỗi stash được đánh dấu bằng một index và một message mô tả nó. Ví dụ:
stash@{0}: On master: Temporary save for new feature
stash@{1}: On master: Fix for production bug
Danh sách này cho phép bạn xác định các stash đã lưu và sử dụng index để áp dụng hoặc xóa chúng theo nhu cầu. Qua tính năng này, người dùng có thể dễ dàng quản lý và lựa chọn stash để áp dụng hoặc xóa chúng khi cần thiết trong quá trình phát triển phần mềm.
Chế độ áp dụng kho lưu trữ
Nếu muốn áp dụng lại các thay đổi từ stash cụ thể, bạn có thể sử dụng lệnh Git stash apply kết hợp với index của stash hoặc message mô tả stash đó.

- Ví dụ, để áp dụng lại các thay đổi từ stash lần thứ nhất, bạn có thể sử dụng lệnh:
Git stash apply stash@{1}
Lệnh này sẽ áp dụng các thay đổi từ stash có index hoặc message là "stash@{1}" vào working directory của bạn mà không xóa stash đó.
Ngoài ra, bạn cũng đã giải thích về lệnh Git stash pop. Đây là một cách khác để áp dụng lại các thay đổi từ stash và xóa stash đó ngay sau khi áp dụng xong. Các lệnh này rất hữu ích trong việc quản lý các stash thay đổi tạm thời trong quá trình phát triển phần mềm.
Chương trình Git stash
Đây là một tính năng trong dụng lại các thay đổi từ stash mà không cần phải commit chúng. Khi có nhu cầu lưu trữ tạm thời các thay đổi chưa commit để làm việc trên một phần khác của codebase mà không gây ảnh hưởng đến trạng thái làm việc hiện tại thì bạn có thể sử dụng Git stash.

Khi bạn lưu trữ các thay đổi bằng lệnh Git stash, Git sẽ tạo ra một bản sao tạm thời của working directory và staging area. Sau đó đưa chúng về trạng thái sạch sẽ để bạn có thể làm việc trên một nhánh khác hoặc giải quyết các vấn đề khác mà không cần phải commit những thay đổi đó.
Sử dụng lệnh Git stash apply bạn có thể áp dụng lại các thay đổi từ stash vào working directory của bạn mà không xóa stash đó. Ngoài ra, lệnh Git stash pop cũng được sử dụng để áp dụng lại các thay đổi từ stash và xóa stash đó ngay sau khi áp dụng xong.
Để liệt kê các stash đã lưu trong Git, bạn có thể sử dụng lệnh Git stash list. Khi bạn thực thi lệnh này trong thư mục của repository Git, danh sách các stash sẽ được hiển thị và thể hiện bằng các chỉ số, message mô tả.
Ví dụ minh họa
Git stash list
Kết quả sẽ hiển thị danh sách các stash đã lưu bao gồm chỉ mục của stash và message mô tả stash đó. Điều này sẽ giúp bạn xác định được các stash cụ thể nào đã được lưu trữ và chuẩn bị áp dụng lại chúng nếu cần thiết.
Xóa những thay đổi trong stash
Để xóa các thay đổi trong stash của Git stash, bạn có thể sử dụng lệnh Git stash drop không hợp với index của stash hoặc message mô tả stash đó.
- Ví dụ, để xóa stash có index là 1, bạn có thể sử dụng lệnh:
Git stash drop stash@{1}
Khi bạn thực thi lệnh này, stash có index hoặc message mô tả tương ứng sẽ bị xóa và không còn tồn tại trong danh sách stash của bạn.
Lưu ý rằng các thay đổi trong stash sẽ bị mất hoàn toàn khi bạn xóa chúng bằng lệnh Git stash drop. Vì vậy, hãy chắc chắn bạn đang xóa những stash không cần thiết hoặc bạn đã sử dụng các thay đổi trong chúng.
Dọn dẹp kho lưu trữ

Để dọn dẹp các kho lưu trữ trong Git stash, bạn có thể sử dụng lệnh Git stash clear. Khi thực thi lệnh này, tất cả các stash sẽ bị xóa hoàn toàn khỏi repository Git của bạn.
Khi dùng lệnh này thì tất cả các thay đổi trong stash sẽ bị mất vĩnh viễn. Chính vì vậy, bạn hãy chắc chắn rằng bản thân không còn cần đến chúng trước khi thực hiện lệnh Git stash clear.
- Để dọn dẹp kho lưu trữ trong Git stash, bạn có thể thực thi lệnh sau:
Git stash clear
Người dùng cần sao lưu hoặc áp dụng các thay đổi cần thiết từ stash trước khi thực hiện lệnh này để tránh mất mát dữ liệu quan trọng.
Kiểm tra chênh lệch kho lưu trữ
Để kiểm tra sự chênh lệch trong kho lưu trữ của Git stash, bạn có thể sử dụng các lệnh sau:
- Kiểm tra trạng thái của các tập tin và stash:
git status
Git stash list
- Hiển thị sự chênh lệch giữa stash và working directory:
Git stash show -p
Lệnh Git stash show -p sẽ hiển thị sự chênh lệch giữa các stash và trạng thái hiện tại của working directory dưới dạng các patch. Bằng cách sử dụng lựa chọn -p, bạn có thể xem xét các thay đổi cụ thể đã được lưu trong stash.
Khi bạn thực thi lệnh này thì Git sẽ hiển thị các patch cho mỗi stash. Hệ thống cho phép bạn xem xét những thay đổi đã được lưu trữ một cách chi tiết.
Xem xét chi nhánh mới
- Để kiểm tra các nhánh mới trong Git, bạn có thể sử dụng lệnh sau:
git branch
Khi bạn thực thi lệnh này, Git sẽ liệt kê tất cả các nhánh trong repository của bạn và đánh dấu nhánh đang được làm việc hiện tại. Bạn sẽ có thể xem tên của các nhánh mới và nhánh hiện tại mà bạn đang làm việc.
Ngoài ra, với lựa chọn -a, bạn có thể liệt kê ra tất cả các nhánh từ xa(tracked branches) và nhánh địa phương (local branches), điều này sẽ hiển thị ra các nhánh mới mà từ xa(remote) tới.
Ví dụ minh họa
git branch -a
Trên màn hình sẽ hiển thị tất cả các nhánh có sẵn mà bạn có thể tiếp cận bằng repository Git của bạn.
Tạm kết
Những chia sẻ trong bài viết trên đã giúp bạn đọc tìm hiểu Git stash là gì một cách đầy đủ nhất. Bên cạnh đó, người học lập trình có thể cập nhật cách dụng lệnh Git stash thông qua những tính năng phù hợp.
Xem thêm:
- Khám phá giao thức IPSec với nguyên lý hoạt động và những kiến thức quan trọng
- Webapp là gì? Tìm hiểu những kiến thức thú vị của ứng dụng Web trong cuộc sống hiện nay
Tại FPT Shop cung cấp nhiều dòng thiết bị điện tử, phụ kiện và linh kiện chất lượng. Cửa hàng luôn mang đến những sản phẩm giá tốt với chính sách ưu đãi hấp dẫn cho khách hàng. Mời bạn ghé thăm cửa hàng để chọn cho mình những sản phẩm phù hợp với bản thân và gia đình nhé.
:quality(75)/estore-v2/img/fptshop-logo.png)