Git menyimpan tampaknya melakukan banyak hal yang saya inginkan, kecuali bahwa itu agak sulit untuk skrip, karena jika Anda tidak memiliki perubahan, maka git stash; git stash popakan melakukan sesuatu yang berbeda daripada jika Anda memiliki perubahan dalam repositori Anda.
Tampaknya itu git stash createadalah jawaban untuk masalah itu, dan semuanya bekerja, kecuali untuk satu hal ... Saya tidak bisa menghilangkan simpanan yang dibuat. Apakah ada cara untuk menghilangkan simpanan?
Untuk memperjelas 100% apa yang saya lakukan:
Buat simpanan:
~/tmp/a(master) $ git stash create
60629375d0eb12348f9d31933dd348ad0f038435
~/tmp/a(master) $ git st
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: b
#
~/tmp/a(master) $ git reset --hard
HEAD is now at 555d572 log message
Gunakan simpanan:
~/tmp/a(master) $ git apply 60629375d0eb12348f9d31933dd348ad0f038435
fatal: can't open patch '60629375d0eb12348f9d31933dd348ad0f038435': No such file or directory
~/tmp/a(master) $ git stash apply 60629375d0eb12348f9d31933dd348ad0f038435
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: b
#
Hapus simpanan: (kecuali bahwa bit terakhir ini tidak berfungsi)
~/tmp/a(master) $ git stash drop !$
git stash drop 60629375d0eb12348f9d31933dd348ad0f038435
'60629375d0eb12348f9d31933dd348ad0f038435' is not a stash reference
git stash applyitu berhasil. The git applyupaya untuk membaca file patch lokal, yang tidak ada. Sejujurnya, mungkin tidak seharusnya ada di sana, dan itu tidak akan pernah berhasil. Saya agak tergoda untuk menghapusnya dari pertanyaan, tetapi mengingat bahwa ia telah membantu begitu banyak dalam bentuknya saat ini, saya akan membiarkannya apa adanya.

git applyperjalanan di kotak kode kedua pada saat penulisan ini tidak menerapkan tambalan — pesan kesalahan dalam output memberi tahu Anda hal ini. Jadi sebenarnya, Anda mencoba untuk membuat simpanan (yang tidak berfungsi, lihat komentar di bawah) menerapkan simpanan yang tidak dibuat kemudian jatuhkan simpanan yang tidak bisa dibuat. Inilah sebabnya mengapa tidak ada yang berhasil.