Saya tahu StackOverflow bukanlah tempat untuk jawaban berdasarkan opini, tetapi saya sebenarnya memiliki pendapat yang baik tentang kapan harus menunda perubahan dengan simpanan.
Anda tidak ingin melakukan perubahan eksperimental
Ketika Anda membuat perubahan di ruang kerja / pohon kerja Anda, jika Anda perlu melakukan operasi berbasis cabang seperti merge, push, fetch atau pull, Anda harus berada pada titik komit yang bersih. Jadi jika Anda memiliki perubahan ruang kerja, Anda perlu mengkomitnya. Tetapi bagaimana jika Anda tidak ingin melakukannya? Bagaimana jika mereka eksperimental? Sesuatu yang tidak Anda inginkan menjadi bagian dari riwayat komit Anda? Sesuatu yang Anda tidak ingin dilihat orang lain saat Anda melakukan push ke GitHub?
Anda tidak ingin kehilangan perubahan lokal dengan hard reset
Dalam hal ini, Anda dapat melakukan hard reset. Tetapi jika Anda melakukan hard reset, Anda akan kehilangan semua perubahan pohon kerja lokal Anda karena semuanya akan ditimpa ke tempatnya pada saat komit terakhir dan Anda akan kehilangan semua perubahan Anda.
Jadi, untuk jawaban 'kapan harus Anda simpan', jawabannya adalah ketika Anda perlu kembali ke titik komit yang bersih dengan pohon kerja / indeks / komit yang disinkronkan, tetapi Anda tidak ingin kehilangan perubahan lokal Anda di proses. Simpan saja perubahan Anda dalam simpanan dan Anda baik-baik saja.
Dan setelah Anda selesai menyimpan dan kemudian digabungkan atau ditarik atau didorong, Anda dapat menyimpan pop atau menerapkan dan Anda kembali ke tempat Anda memulai.
Git stash dan GitHub
GitHub terus menambahkan fitur baru, tetapi untuk saat ini, sekarang ada cara untuk menyimpan simpanan di sana. Sekali lagi, gagasan simpanan adalah bahwa itu lokal dan pribadi. Tidak ada orang lain yang dapat mengintip ke dalam simpanan Anda tanpa akses fisik ke workstation Anda. Mirip dengan cara git reflog bersifat privat dengan git log bersifat publik. Mungkin tidak akan menjadi pribadi jika didorong ke GitHub.
Salah satu trik yang mungkin dilakukan adalah melakukan diff pada ruang kerja Anda, memeriksa perbedaan tersebut ke dalam repositori git Anda, komit dan kemudian tekan. Kemudian Anda dapat melakukan penarikan dari rumah, dapatkan perbedaannya dan kemudian lepaskan. Tapi itu cara yang cukup berantakan untuk mencapai hasil tersebut.
git diff > git-dif-file.diff