Tôi biết StackOverflow không phải là nơi dành cho các câu trả lời dựa trên ý kiến, nhưng tôi thực sự có quan điểm tốt về thời điểm nên tạm hoãn các thay đổi bằng một kho lưu trữ.
Bạn không muốn cam kết với bạn những thay đổi thử nghiệm
Khi bạn thực hiện các thay đổi trong không gian làm việc / cây làm việc của mình, nếu bạn cần thực hiện bất kỳ hoạt động dựa trên nhánh nào như hợp nhất, đẩy, tìm nạp hoặc kéo, bạn phải ở điểm cam kết sạch. Vì vậy, nếu bạn có những thay đổi về không gian làm việc, bạn cần phải cam kết chúng. Nhưng nếu bạn không muốn phạm phải chúng thì sao? Nếu chúng là thử nghiệm thì sao? Một cái gì đó bạn không muốn một phần của lịch sử cam kết của bạn? Điều gì đó bạn không muốn người khác nhìn thấy khi bạn đẩy lên GitHub?
Bạn không muốn mất các thay đổi cục bộ khi khôi phục cài đặt gốc
Trong trường hợp đó, bạn có thể thực hiện khôi phục cài đặt gốc. Nhưng nếu bạn thực hiện khôi phục cài đặt gốc, bạn sẽ mất tất cả các thay đổi cây làm việc cục bộ của mình vì mọi thứ sẽ bị ghi đè lên vị trí tại thời điểm cam kết cuối cùng và bạn sẽ mất tất cả các thay đổi của mình.
Vì vậy, đối với câu trả lời của 'khi nào bạn nên lưu trữ', câu trả lời là khi bạn cần quay lại điểm cam kết sạch với cây làm việc / chỉ mục / cam kết được đồng bộ hóa, nhưng bạn không muốn mất các thay đổi cục bộ của mình trong quá trình. Chỉ cần gác những thay đổi của bạn trong một kho lưu trữ và bạn đã tốt.
Và khi bạn đã hoàn tất việc lưu trữ của mình và sau đó hợp nhất hoặc kéo hoặc đẩy, bạn chỉ có thể lưu trữ cửa sổ bật lên hoặc áp dụng và bạn quay lại nơi bạn bắt đầu.
Git stash và GitHub
GitHub liên tục bổ sung các tính năng mới, nhưng tính đến thời điểm hiện tại, bây giờ có cách để lưu trữ ở đó. Một lần nữa, ý tưởng về kho lưu trữ là nó cục bộ và riêng tư. Không ai khác có thể nhìn vào kho lưu trữ của bạn nếu không có quyền truy cập vật lý vào máy trạm của bạn. Kinda giống như cách git reflog là riêng tư với git log là public. Nó có lẽ sẽ không riêng tư nếu nó được đẩy lên GitHub.
Một thủ thuật có thể là thực hiện thay đổi không gian làm việc của bạn, kiểm tra khác biệt trong kho lưu trữ git của bạn, cam kết và sau đó đẩy. Sau đó, bạn có thể thực hiện kéo từ nhà, lấy chênh lệch và sau đó mở ra. Nhưng đó là một cách khá lộn xộn để đạt được những kết quả đó.
git diff > git-dif-file.diff