Tổng hợp cách dùng lệnh git stash hiệu quả

Bài viết được sự cho phép của tác giả Lê Chí Dũng
Mình sẽ tổng hợp các cách dùng git stash hiệu quả!

Lưu lại thay đổi

Git stash được sử dụng khi muốn lưu lại các thay đổi chưa commit, thường rất hữu dụng khi bạn muốn đổi sang 1 branch khác mà lại đang làm dở ở branch hiện tại.

Muốn lưu toàn bộ nội dung công việc đang làm dở, bạn có thể sử dụng git stash như sau

$ git stash save # or just "git stash"

Khi này branch đã trở nên “sạch sẽ” và git status sẽ cho thấy bạn có thể chuyển sang branch tuỳ thích. Bạn có thể git stash bao nhiêu lần tuỳ thích và mỗi lần đó git sẽ lưu toàn bộ lần thay đổi đó như 1 phần tử trong 1 stack.

  10 Vấn đề về Git thường gặp và Giải pháp
  12 điều cực "cool" mà bạn có thể làm với Github

Lấy lại thay đổi

Sau khi đã git stash 1 hoặc vài lần, bạn có thể xem lại danh sách các lần lưu thay đổi bằng câu lệnh

$ git stash list
stash@{0}: WIP on : 
stash@{1}: WIP on : 
stash@{2}: WIP on : 

Nếu muốn xem cả nội dung của từng thay đổi thì thêm option -p

$ git stash list -p

hoặc xem nội dung cụ thể hơn nữa của lần thay đổi thứ 1:

$ git stash show stash@{1}

Khi muốn apply lại thay đổi từ stash lần 1 bạn có thể

$ git stash apply stash@{1}

Xoá các thay đổi không cần thiết

Đôi khi bạn muốn lấy lại thay đổi và xoá nội dung thay đổi lưu trong stack đi, khi đó bạn có thể

$ git stash apply stash@{1}
$ git stash drop stash@{1}

hoặc đơn giản hơn là

$ git stash pop stash@{1}

Thậm chí nếu muốn xoá toàn bộ stack thì có thể dùng clear