У меня возникла следующая проблема на одном из наших серверов: я хочу, чтобы пользователь регулярно извлекал данные из репозитория Git (используя cronjob), но выполнял только операции ускоренной перемотки вперед (содержимое на сервере также иногда меняется). С современным Git (1.6.6 и новее) я могу просто сделать

git pull --ff-only origin master

но так как у меня установлена только 1.6.0.2, я не могу этого сделать. Я думал, что могу обойти это, делая

git config merge.ff only
git pull origin master

но, как оказалось, это не сработало (без ошибок, но все равно сливается). Любые идеи, как я могу решить это?

1 ответ1

0

Я нашел решение этой проблемы, вручную проверив, является ли текущая ветвь (master) на самом деле потомком ветви, которую нужно объединить (origin/master):

git fetch origin
if [ $(git branch --contains master -a | grep origin/master) ]
then
    git merge origin/master
else
    echo "No fast-forward, aborting merge"
fi

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .