композитор отменить изменения: что делают [y, n, v, d, s ,?]

122

Простой вопрос, который мучил меня несколько месяцев.

Иногда я ныряю в каталог vendors, чтобы исправить ошибку (особенно для наших внутренних библиотек). После миграции и развертывания исправления обратно в исходный пакет я перехожу composer update company/packageв основной проект, и меня спрашивают:

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

У меня есть приличное схватывание на yи , nно не смог найти документацию о том, что v, d, s, ?делать? Я всегда бью, yно, может быть, упускаю что-то полезное.


Редактирование:

  • добавлена dопция (октябрь 2017 г.)
Марк Фокс
источник
8
Вы пробовали использовать ?? Это, вероятно, вызовет хорошее справочное сообщение.
nneonneo
2
Конечно. Композитору требуется около двух минут, чтобы выполнить обновление, распознать грязное состояние, и когда я действительно работаю, мышечная память ударяется, и я не могу ударить y, не ?дождавшись еще пары минут. Я полагаю, что если я чешу в затылке, другие тоже.
Марк Фокс
1
Теперь у него есть D как опция, поэтому было бы неплохо добавить его здесь
Младен Джанжетович

Ответы:

188

При выборе ?вы увидите детали:

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

Вы также можете проверить исходный код, соответствующая часть находится здесь .

Герго Эрдози
источник
31

Если вы запускаете с --no-interaction, вы можете установить discard-changes: trueв composer.jsonфайле, и вам не будет каждый раз предлагать этот параметр.

Или запустите:

COMPOSER_DISCARD_CHANGES=true composer install --no-interaction

Реза С
источник
2
Есть ли способ сделать так, чтобы этот вариант заработал, не бегая с--no-interaction
Джейк Сильвестр
3
@JakeSylvestre может быть год позже, но это может оказаться полезным для других с аналогичной проблемой: stackoverflow.com/a/18812171/1097372
Iyas
@lyas Ах, отлично! Спасибо.
Джейк Сильвестр
4
Есть env var для управления изменениями сбросаCOMPOSER_DISCARD_CHANGES=true composer install --no-interaction
5n00py