Git - Sử dụng git stash hiệu quả
Note: This post is over 11 years old. The information may be outdated.
Git là công cụ cực kì hiệu quả để quản lý source code và cũng cực kì phổ biến khi gần như mọi công ty hay team develope sử dụng. Bài viết sau của bạn Lê Việt Tú đăng trên Kipalog hướng dẫn cách sử dụng Git stash một cách 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
# or just "git stash save" in older versions
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.
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 <branch-name>: <lastest commit>
stash@{1}: WIP on <branch-name>: <lastest commit>
stash@{2}: WIP on <branch-name>: <lastest commit>
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
$ git stash clear
Related Posts
Git - Cách xóa nhanh tất cả các branch cũ đã merge vào branch master
Nếu bạn có rất nhiều branch trên repo, mỗi branch phát triển 1 chức năng của dự án. Trong số chúng có nhiều branch đã hoàn thành, và đã được merge vào branch chính (master) chẳng hạn, mình gọi các branch này là branch cũ.
Git - 19 Tips For Everyday Git Use
I’ve been using git full time for the past 4 years, and I wanted to share the most practical tips that I’ve learned along the way. Hopefully, it will be useful to somebody out there
Git rebase, gộp commits bằng rebase
Trong dự án, code của bạn luôn có sự thay đổi, sau khi push 1 đống commit lên github. Một ngày kia ông Leader kêu lại: "Ê mày, sửa chỗ này, sửa chỗ kia, code không đúng chuẩn rồi, bla bla ...". Thế là phải hồi hì hục cải tiến code, coding style cho "chuẩn".
Git - Cách xem nội dung 1 file ở branch khác
Nếu bạn đang ở 1 nhánh, và bạn muốn xem nội dung của 1 file nằm ở trên nhánh khác mà không cần phải checkout.