Git - Hoạt động Stash: Hướng dẫn cho Người mới bắt đầu

Xin chào các bạn, những nhà vô địch Git tương lai! Hôm nay, chúng ta sẽ cùng nhau tìm hiểu một trong những tính năng hữu ích nhất của Git: hoạt động stash. Với vai trò là giáo viên máy tính hàng xóm thân thiện của bạn, tôi sẽ hướng dẫn bạn qua chủ đề này với niềm的热情 tương tự như khi tôi tìm thấy một chiếc pizza không lường trước trong tủ lạnh. Hãy bắt đầu nào!

Git - Stash Operation

Git Stash là gì?

Hãy tưởng tượng bạn đang làm việc trên một bức tranh, và đột nhiên bạn cần vẽ điều gì đó khẩn cấp. Bạn không muốn làm rối loạn công việc hiện tại của mình, nhưng bạn cũng không thể hoàn thành nó ngay bây giờ. Bạn sẽ làm gì? Trong thế giới nghệ thuật, bạn có thể che canvas và để nó sang một bên. Trong Git, chúng ta sử dụng lệnh 'stash'!

Git stash giống như một kệ ma thuật nơi bạn có thể lưu trữ công việc chưa hoàn thành của mình tạm thời. Nó cho phép bạn chuyển đổi ngữ cảnh nhanh chóng mà không cần commit công việc chưa hoàn thành.

Tại sao sử dụng Git Stash?

  1. Để chuyển đổi nhánh mà không cần commit công việc chưa hoàn thành
  2. Để áp dụng thay đổi từ nhánh này sang nhánh khác
  3. Để nhanh chóng ẩn các modification khi kéo thay đổi

Các hoạt động Stash cơ bản

Hãy cùng nhìn qua các hoạt động stash phổ biến nhất mà bạn sẽ sử dụng:

1. Lưu trữ thay đổi của bạn

Để lưu trữ các thay đổi hiện tại của bạn, hãy chạy lệnh:

git stash

Lệnh này sẽ lấy tất cả các thay đổi chưa commit (cả đã chọn và chưa chọn) và lưu chúng vào ngăn xếp stash. Thư mục làm việc của bạn sẽ sạch sẽ, tương ứng với commit HEAD.

2. Xem các Stash của bạn

Để xem những gì trong stash của bạn, hãy sử dụng:

git stash list

Lệnh này sẽ hiển thị danh sách tất cả các stash của bạn, như sau:

stash@{0}: WIP on main: 1234567 Thông điệp commit cuối cùng của bạn
stash@{1}: WIP on feature: 7654321 Thông điệp commit cũ hơn của bạn

3. Áp dụng một Stash

Khi bạn sẵn sàng tiếp tục làm việc với các thay đổi đã stash, bạn có thể áp dụng chúng bằng cách sử dụng:

git stash apply

Lệnh này sẽ áp dụng stash gần nhất. Nếu bạn muốn áp dụng một stash cụ thể, bạn có thể làm:

git stash apply stash@{2}

4. Xóa một Stash

Sau khi áp dụng một stash, nó vẫn còn trong danh sách stash. Để xóa nó, hãy sử dụng:

git stash drop

Hoặc để xóa một stash cụ thể:

git stash drop stash@{2}

5. Áp dụng và xóa trong một bước

Nếu bạn muốn áp dụng một stash và ngay lập tức xóa nó khỏi danh sách stash, hãy sử dụng:

git stash pop

Lệnh này tương đương với git stash apply tiếp theo là git stash drop.

Các kỹ thuật Stash nâng cao

Bây giờ chúng ta đã覆盖 các alap, hãy cùng nhìn qua một số kỹ thuật nâng cao. Đừng lo lắng, chúng ta sẽ làm từng bước!

1. Lưu trữ các tệp không được theo dõi

Mặc định, git stash chỉ lưu trữ các tệp được theo dõi. Để bao gồm các tệp không được theo dõi, hãy sử dụng:

git stash -u

2. Tạo nhánh từ một Stash

Đôi khi, bạn có thể muốn tạo một nhánh mới để làm việc với các thay đổi đã stash. Bạn có thể làm điều này bằng cách sử dụng:

git stash branch new-branch-name stash@{1}

Lệnh này tạo một nhánh mới, chuyển sang nhánh đó, và sau đó áp dụng và xóa stash.

3. Lưu trữ các tệp cụ thể

Nếu bạn chỉ muốn lưu trữ một số tệp cụ thể, bạn có thể làm:

git stash push -m "Your stash message" file1.txt file2.txt

4. Xem diff của Stash

Để xem diff của một stash, hãy sử dụng:

git stash show -p stash@{0}

Flag -p hiển thị full diff, không chỉ là tóm tắt.

Các nguyên tắc tốt nhất khi sử dụng Git Stash

  1. Đặt tên cho các stash của bạn: Sử dụng git stash save "Your message" để đặt tên mô tả cho các stash của bạn.
  2. Đừng giữ stash quá lâu: Stashes được thiết kế để là tạm thời. Hãy cố gắng áp dụng hoặc xóa chúng sớm sau khi tạo.
  3. Cẩn thận khi áp dụng stash: Nếu bạn đã làm thay đổi kể từ khi tạo stash, bạn có thể gặp xung đột khi áp dụng nó.
  4. Sử dụng stash khi chuyển đổi ngữ cảnh: Stash hoàn hảo cho khi bạn cần chuyển sang một nhiệm vụ khác mà không cần commit công việc chưa hoàn thành.

Bảng các lệnh Stash phổ biến

Dưới đây là bảng các lệnh stash phổ biến nhất:

Lệnh Mô tả
git stash Lưu trữ thay đổi
git stash list Liệt kê tất cả các stash
git stash apply Áp dụng stash gần nhất
git stash drop Xóa stash gần nhất
git stash pop Áp dụng và xóa stash gần nhất
git stash clear Xóa tất cả các stash
git stash show Hiển thị thay đổi trong stash gần nhất
git stash branch <name> Tạo một nhánh mới từ stash

Kết luận

Và thế là bạn đã trở thành một chuyên gia Git stash. Nhớ rằng, như bất kỳ công cụ nào, stash trở nên mạnh mẽ hơn khi bạn sử dụng nó nhiều hơn. Vậy đừng ngần ngại thử nghiệm!

Khi chúng ta kết thúc, tôi nhớ lại một học sinh từng nói với tôi, "Git stash đã cứu dự án của tôi... và có lẽ cả sự điên rồ của tôi!" Và đó là vẻ đẹp của Git - nó không chỉ là một hệ thống kiểm soát phiên bản, nó còn là một cứu cánh cho các nhà phát triển trên toàn thế giới.

Tiếp tục stash, tiếp tục học hỏi, và quan trọng nhất, tiếp tục mã hóa! Đến gặp lại các bạn, đây là giáo viên máy tính hàng xóm thân thiện của bạn signing off. Hạnh phúc Git-ing!

Credits: Image by storyset