Mình đã với đang áp dụng Git mang lại việc thống trị source code, mình thường xuyên coi thao tác trên một branch được check out ra xuất phát từ một branch cội đặt thương hiệu là develop trong một vài trường hợp:
Mình không muốn commit những chuyển đổi hiện tại nhưng khách hàng hắn dí chiếc bug XX rồi yêu ước sửa ngay cơ mà bug này cũng bé dại nhảy qua sửa chắn chắn 15 phút là chấm dứt nên mình đề xuất chuyển branch mới để fix ngay lập tức.Mình muốn quay lại branch develop hoặc một branch như thế nào đó, hay quay lại những chiếc code cũ đã được commit trong HEAD nhưng lại chưa mong commit thay đổi hiện tại đồng thời muốn sau thời điểm back lại thì những biến đổi mà mình đang làm việc vẫn ở nguyên ở kia và giữ nguyên trạng thái.Kết quả sau khi mình chạy lệnh git pull hoặc git rebase bên trên branch bây giờ dính conflict tuy thế lại mắc mấy bài toán cá nhân chưa xuất hiện muốn commit.Mình nhận biết là đã code hầu hết dòng đầy tận tâm sau cả giờ đồng hồ thời trang nhưng lại nhầm branch, thế cho nên muốn chuyển hầu hết dòng code này qua đúng với branch phải nó.Bạn đang xem: Stash là gì
Vì vậy mình có đi tìm và hỏi thì được biết Git có một feature có tên là Git stash sẽ giúp mình giải quyết và xử lý được sự việc này. Nếu bạn đã, đang thực hiện Git vào một thời gian thì rất có thể bạn đã từng có lần sử dụng Git stash, kia là trong những feature hữu ích của Git.
Dưới đây là một trong những tính năng về Git stash:
Git stash saveGit stash listGit stash applyGit stash popGit stash showGit stash branch Git stash clearGit stash dropBạn đang code file awesome.vue tuy vậy chưa muốn commit với đang mong chuyển sang 1 branch khác, git đang yêu cầu chúng ta commit những biến đổi trước khi gửi branch.Câu lệnh này cũng tương tự Git stash nhưng bạn có thể thêm vào nhiều tùy chọn đi cùng rất nó. Mình hoàn toàn có thể coi Git stash == Git stash save (khi không có tùy chọn nào).
git stash save “Your stash message”.
Câu lệnh bên trên sẽ đưa các file vào thư mục làm việc của công ty về commit gần nhất và gửi những biến đổi hiện tại vào trong stack. Yên trung khu lát nữa sau khi mình quay lại branch này sẽ thuận tiện lấy lại những biến đổi như lúc đầu để tiếp tục làm việc. Câu lệnh này chỉ không giống git stash kia là bao gồm thêm stash message nhằm mình dễ dàng biết ban sơ đang có tác dụng gì, tưởng tượng đơn giản giống như việc bạn commit kèm message mô tả các bước ấy.
Xem thêm: Đàn Ông Yêu Phụ Nữ Như Thế Nào, Giải Mã Tâm Lý Đàn Ông Khi Yêu
Bạn cũng rất có thể stash (đưa thư mục thao tác làm việc về trạng thái ban đầu) với untracked files - gần như file được chế tác mới, chưa từng được add.
git stash save -uorgit stash save --include-untrackedVí dụ khi mình thay đổi code so với commit A nhưng mà làm một hồi thì thấy không hợp lý và mình muốn xóa bỏ hết các dòng code bắt đầu tạo và chuyển trạng thái các file vào project đang làm việc về commit A. Chú ý những biến hóa này chưa được add vào staged, thì mình hoàn toàn có thể sử dụng git checkout mặc dù câu lệnh này lại không có tác dụng đối với đầy đủ file được tạo mới - untracked file, cho nên sử dụng git stash save -u cho thấy rõ sự nhân tiện lợi.
Trước khi nói về câu lệnh này, bọn họ hãy cùng nhìn biện pháp mà stash hoạt động.Khi chúng ta chạy lệnh Git stash hoặc Git stash save, Git đã thực sự tạo mới một commit object với một tên nào kia và bảo quản trong repo của bạn, những commit object này sẽ được tổ chức lưu trữ dạng stack, kia là một cái thùng có đáy cùng thằng nào được lưu lại trước sẽ ở ngay gần với đáy thùng hơn.
Điều đó tức là bạn cũng trở nên xem được danh sách các commit đó hệt như việc bạn xem log các commit thông thường vậy.
Git stash list
git stash apply
Câu lệnh này tương tự như stash apply tuy vậy nó xóa stash tự stack sau khoản thời gian nó được apply nghĩa là mình đã lấy lại được những thay đổi.Ví dụ:!(Git stash pop ex)
Bạn vẫn thấy stash sớm nhất bị xóa bỏ list và
git stash pop Git stash show | Nội dung rứa đổi
Xem nội dung ví dụ từ lần biến hóa thứ 1
git stash show