Pertanyaan Kapan saya harus menggunakan simpanan git?


Jika saya bekerja di cabang A dan tiba-tiba harus bekerja di cabang B sebelum siap dengan komitmen di cabang A, saya menyimpan perubahan saya di A, checkout B, melakukan pekerjaan saya di sana, lalu checkout A dan menerapkan simpanannya.

Jika saya bekerja pada A dan saya ingin berhenti bekerja untuk hari itu, haruskah saya menyimpan pekerjaan saya dan kemudian menerapkannya pada hari berikutnya, ketika saya melanjutkan pekerjaan saya, atau haruskah saya meninggalkan hal-hal sebagaimana adanya - file yang tidak diubah yang diubah dalam pekerjaan direktori. Saya tidak mengerti mengapa saya perlu menggunakan simpanan dalam kasus ini, kecuali jika ada beberapa manfaat keamanan.

Juga, skenario lain - Saya bekerja baik di kantor maupun di rumah. Jika saya belum siap dengan komitmen ketika saya ingin pulang, bisakah saya menyimpan pekerjaan saya, mendorongnya ke GitHub dan kemudian menarik simpanan itu di rumah?


32
2017-12-12 07:15


asal


Jawaban:


Stash hanyalah metode kenyamanan. Karena cabang sangat murah dan mudah dikelola dalam git, saya pribadi hampir selalu lebih suka membuat cabang sementara baru daripada menyembunyikannya, tapi ini masalah selera kebanyakan.

Satu tempat yang saya sukai seperti penyimpanan adalah jika saya menemukan saya lupa sesuatu di commit terakhir saya dan sudah mulai mengerjakan yang berikutnya di cabang yang sama:

# Assume the latest commit was already done
# start working on the next patch, and discovered I was missing something

# stash away the current mess I made
git stash save

# some changes in the working dir

# and now add them to the last commit:
git add -u
git commit --ammend

# back to work!
git stash pop

41
2017-12-12 07:22



Perintah simpanan akan menyimpan perubahan yang Anda buat sejak commit terakhir Anda. Dalam kasus Anda tidak ada alasan untuk menyimpan jika Anda akan terus mengerjakannya pada hari berikutnya. Saya hanya akan menggunakan simpanan untuk membatalkan perubahan yang tidak ingin Anda lakukan.


1
2017-12-12 07:21



Jika kamu memukul git stash ketika Anda memiliki perubahan dalam copy pekerjaan (bukan di area staging), git akan membuat objek yang disembunyikan dan mendorong ke tumpukan simpanan (seperti yang Anda lakukan git checkout -- . tetapi Anda tidak akan kehilangan perubahan). Kemudian, Anda dapat keluar dari bagian atas tumpukan.


0
2017-12-12 09:20