Saya memiliki beberapa file yang tidak dapat dilacak di git. Saya membuat beberapa perubahan dan ingin mengkomitnya, tetapi menyadari saya lupa untuk memeriksa file yang belum dimodifikasi terlebih dahulu. Jadi saya menyimpan file, lalu menambahkan versi yang tidak dimodifikasi.
Kemudian ketika saya menerapkan simpanan ke repositori, saya mendapatkan konflik karena file telah ditambahkan.
Bagaimana saya bisa menerapkan simpanan, dan memaksa versi dalam simpanan untuk digunakan dalam preferensi ke aslinya dalam repositori?
Terima kasih
git rm
sebelum melakukannyagit stash apply
.git
akan memperlakukannya hanya sebagai modifikasi kecil.Jawaban:
Gunakan
git checkout
alih-alihgit stash apply
:Ini akan mengembalikan semua file di direktori saat ini ke versi simpanan mereka.
Jika ada perubahan pada file lain di direktori kerja yang harus disimpan, berikut ini adalah alternatif yang tidak terlalu berat:
Jika ada perubahan dalam indeks, atau gabungan akan menyentuh file dengan perubahan lokal, git akan menolak untuk menggabungkan. File individual dapat diperiksa dari simpanan menggunakan
atau secara interaktif dengan
sumber
git checkout stash -- .
Perintah ini benar-benar tidak melakukan apa pun ketika saya menjalankannya.git checkout stash -- .
di folder induk tertinggi yang berisi perubahan saya, kalau tidak itu hanya menerapkan perubahan pada folder dari mana saya menjalankan perintah..
menentukan direktori saat ini (Anda bisa menggantinya dengan jalur yang berbeda daripada mengubah direktori). Saya memperbarui jawaban saya untuk membuatnya lebih jelas.git stash show -p | git apply
dan kemudian
git stash drop
jika Anda ingin menjatuhkan barang simpanan.sumber
Untuk memaksa
git stash pop
menjalankan perintah inisumber
TL; DR:
Versi panjang:
Anda mendapatkan kesalahan ini karena perubahan yang tidak dikomit yang ingin Anda timpa. Batalkan perubahan ini dengan
git checkout HEAD
. Anda dapat membatalkan perubahan ke file tertentu dengangit checkout HEAD path/to/file
. Setelah menghapus penyebab konflik, Anda dapat menerapkan seperti biasa.sumber