Мерзавцы, роботы и расходящиеся ветки - PullRequest
1 голос
/ 20 октября 2010

Я пытаюсь использовать git как базу данных. Пожалуйста, не стесняйтесь сказать мне, что это глупая идея.

Настройка

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

Изначально ветвь master совпадает с ветвью robot.

Некоторые данные в общедоступной базе данных неверны, поэтому я сделаю фиксацию в ветке master и исправлю ошибку.

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

Отслеживание различий

Теперь, очевидно, я потерял способность выполнять ускоренное слияние, если я изменил тот же файл. Но я все еще могу выбрать хорошие изменения в ветке robot и импортировать их в ветку master. Проблема в том, что это может стать довольно грязным через некоторое время, когда почти все файлы разошлись.

Как я могу систематически отслеживать разницу между разными ветвями?

1 Ответ

2 голосов
/ 20 октября 2010

Звучит так, будто вы ищете команду git rebase.Эта команда позволяет обновлять изменения, внесенные в ветку master поверх нового заголовка ветки robot:

git checkout master
git rebase robot

Могут возникнуть конфликты, если база данных была обновленас изменением чего-то, что вы изменили в master.Вы должны разрешить эти конфликты вручную.

...