komposer membuang perubahan: apa yang dilakukan [y, n, v, d, s ,?]

121

Pertanyaan sederhana yang mengganggu saya selama berbulan-bulan.

Kadang-kadang saya akan masuk ke direktori vendor untuk memperbaiki bug (terutama untuk perpustakaan internal kami). Setelah bermigrasi dan menerapkan perbaikan kembali ke paket sumber, saya akan berada composer update company/packagedi proyek utama dan ditanya:

Discard changes [y,n,v,d,s,?]

Saya memiliki pemahaman yang layak pada ydan ntetapi belum dapat menemukan dokumentasi tentang apa v, d, s, ?lakukan? Saya selalu memukul ytetapi mungkin saya melewatkan sesuatu yang berguna.


Editan:

  • dopsi tambahan (okt '17)
Mark Fox
sumber
8
Sudahkah Anda mencoba menggunakan ?? Ini mungkin akan memunculkan pesan bantuan yang bagus.
nneonneo
2
Tentu. Hal ini membutuhkan waktu sekitar dua menit bagi komposer untuk melakukan pembaruan, mengenali keadaan kotor dan ketika melakukan benar-benar bekerja memori otot tendangan saya memukul ydan tidak memiliki kemampuan untuk memukul ?tanpa menunggu beberapa menit lagi. Saya membayangkan jika saya menggaruk-garuk kepala, orang lain juga.
Mark Fox
1
Ini memiliki D sekarang sebagai opsi, jadi alangkah baiknya menambahkannya di sini
Mladen Janjetovic

Jawaban:

188

Memilih ?menunjukkan kepada Anda detailnya:

y - discard changes and apply the update
n - abort the update and let you manually clean things up
v - view modified files
d - view local modifications (diff)
s - stash changes and try to reapply them after the update

Anda juga dapat memeriksa kode sumber, bagian yang relevan ada di sini .

Gergo Erdosi
sumber
31

Jika Anda menjalankan dengan --no-interaction, Anda dapat mengatur discard-changes: truedalam composer.jsonfile dan Anda tidak akan dimintai opsi ini setiap saat.

Atau, jalankan:

COMPOSER_DISCARD_CHANGES=true composer install --no-interaction

Reza S
sumber
2
Apakah ada cara untuk membuat opsi ini --no-interaction
Jake Sylvestre
3
@JakeSylvestre mungkin terlambat setahun, tetapi ini mungkin berguna untuk orang lain dengan masalah serupa: stackoverflow.com/a/18812171/1097372
Iyas
@lyas Ah, bagus! Terima kasih.
Jake Sylvestre
4
Ada env var untuk mengontrol perubahan-buangCOMPOSER_DISCARD_CHANGES=true composer install --no-interaction
5n00py