Какие стратегии имеют люди для разрешения конфликтов Gemfile.lock при перезагрузке в Git?
Мне нужно сделать это много в недавнем проекте, и это не только утомительно, но и не всегда понятно, как слить.
Какие стратегии имеют люди для разрешения конфликтов Gemfile.lock при перезагрузке в Git?
Мне нужно сделать это много в недавнем проекте, и это не только утомительно, но и не всегда понятно, как слить.
вы могли бы переустановить его при каждом слиянии с помощью слияния (который я обычно использую для всегда хранить локальную версию файла во время слияния).
Смотрите " Auto Merge Gemfile.lock" из Will Leinweber:
Все, что вам нужно сделать, это запустить
(устаревший в Rail3)bundle lockbundle install, чтобы получитьbundler, чтобы добавить его, и добавьте его и продолжите свою rebase.Сначала ваш файл
~/.gitconfig.
Здесь мы собираемся дать ему новую стратегию слияния, которая будет просто удалять gemfile.
Добавьте это к концу:
[merge "gemfilelock"]
name = relocks the gemfile.lock
driver = bundle install
Далее, мы должны сказать git использовать нашу новую стратегию для
Gemfile.lock, и мы делаем это с помощьюgitattributes.
Вы можете поместить это вproject/.git/info/attributesилиproject/.gitattributes.
Gemfile.lock merge=gemfilelock
Используйте git log Gemfile.lock, чтобы найти хэш предыдущего коммита. Затем запустите git checkout abcde Gemfile.lock, чтобы вернуться назад. После этого ваша команда bundle install должна работать.
Вы можете использовать этот script для автоматической настройки репозитория git для использования упомянутой стратегии разрешения слияния: https://gist.github.com/itspriddle/5548930
В качестве альтернативы вы можете использовать tpope hookup для этого (и запускать миграцию базы данных) автоматически после git pulls: https://github.com/tpope/hookup