Đây là một cách tiếp cận đơn giản nếu bạn không có nhiều thay đổi mã:
1. git stash
2. git stash apply
3. remove the files/code you don't want to commit
4. commit the remaining files/code you do want
Sau đó, nếu bạn muốn mã bạn đã xóa (các bit bạn không cam kết) trong một cam kết riêng hoặc một nhánh khác, thì trong khi vẫn ở nhánh này, hãy thực hiện:
5. git stash apply
6. git stash
Với bước 5 như bạn đã áp dụng stash và cam kết mã bạn muốn ở bước 4, khác biệt và không bị theo dõi trong stash mới được áp dụng chỉ là mã bạn đã xóa trong bước 3 trước khi bạn cam kết ở bước 4.
Vì bước 6 như vậy là một đoạn mã mà bạn không [muốn] cam kết, vì có lẽ bạn không thực sự muốn mất những thay đổi đó phải không? Vì vậy, stash mới từ bước 6 bây giờ có thể được cam kết cho nhánh này hoặc bất kỳ nhánh nào khác bằng cách thực hiện git stash trên nhánh chính xác và cam kết.
Rõ ràng điều này giả định rằng bạn thực hiện các bước trong một luồng, nếu bạn bỏ vào bất kỳ điểm nào khác trong các bước này, bạn sẽ cần lưu ý giới thiệu stash cho mỗi bước ở trên (thay vì chỉ là stash cơ bản và áp dụng stash gần đây nhất).