Какие стратегии имеют люди для разрешения конфликтов Gemfile.lock при перезагрузке в Git?
Мне нужно сделать это много в недавнем проекте, и это не только утомительно, но и не всегда понятно, как слить.
Какие стратегии имеют люди для разрешения конфликтов Gemfile.lock при перезагрузке в Git?
Мне нужно сделать это много в недавнем проекте, и это не только утомительно, но и не всегда понятно, как слить.
вы могли бы переустановить его при каждом слиянии с помощью слияния (который я обычно использую для всегда хранить локальную версию файла во время слияния).
Смотрите " Auto Merge Gemfile.lock" из Will Leinweber:
Все, что вам нужно сделать, это запустить
(устаревший в Rail3)bundle lock
bundle 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