Подтвердить что ты не робот

Конфликты в Gemfile.lock при перезагрузке

Какие стратегии имеют люди для разрешения конфликтов Gemfile.lock при перезагрузке в Git?

Мне нужно сделать это много в недавнем проекте, и это не только утомительно, но и не всегда понятно, как слить.

4b9b3361

Ответ 1

вы могли бы переустановить его при каждом слиянии с помощью слияния (который я обычно использую для всегда хранить локальную версию файла во время слияния).

Смотрите " Auto Merge Gemfile.lock" из Will Leinweber:

Все, что вам нужно сделать, это запустить bundle lock (устаревший в Rail3) 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

Ответ 2

Используйте git log Gemfile.lock, чтобы найти хэш предыдущего коммита. Затем запустите git checkout abcde Gemfile.lock, чтобы вернуться назад. После этого ваша команда bundle install должна работать.

Ответ 3

Вы можете использовать этот script для автоматической настройки репозитория git для использования упомянутой стратегии разрешения слияния: https://gist.github.com/itspriddle/5548930

В качестве альтернативы вы можете использовать tpope hookup для этого (и запускать миграцию базы данных) автоматически после git pulls: https://github.com/tpope/hookup