Найдите различия между локальным репо и удаленным репо в git - PullRequest
1 голос
/ 05 мая 2011

В настоящее время я работаю над двумя компьютерами в проекте: ноутбук под управлением Linux и рабочий стол под управлением Win7.Я использую сервер Ubuntu с gitolite для размещения своих репозиториев.

Я пытаюсь написать быстрый скрипт, который будет выполнять две вещи:

  1. Проверкаесли что-то изменилось в локальном репо, с момента последнего нажатия.Если это так, он должен зафиксировать изменения, отправить фиксацию в удаленное хранилище

    1a.Я не уверен, как это работает, но я НЕ хочу, чтобы этот коммит перезаписывал изменения в файлах, которые я не изменил локально (то есть: они могли быть изменены на другом компьютере и выдвинуты)

  2. После этого он должен проверить, есть ли в удаленном репо какие-либо файлы, которые были изменены с момента моего последнего извлечения (см. 1a.).Если это так, внесите эти изменения в локальный репозиторий.

Цель этого сценария - синхронизировать оба компьютера друг с другом без необходимости каждый раз выполнять всю эту работу git вручную.,Мне бы хотелось, чтобы этот запуск выполнялся периодически (раз в полчаса?), Поэтому я не хочу, чтобы он занимал огромное количество ресурсов, если это возможно.

Мне не нужен весь сценарий, написанный дляменя (если только это не пара строк) - просто наведите меня на команды, которые мне понадобятся.

1 Ответ

1 голос
/ 05 мая 2011

Сравните вывод:

git ls-remote <remote>
git show-ref

Хотя, в общем, все, что нужно сделать - это извлечь (не вытащить) пульт дистанционного управления и сравнить удаленные филиалы с вашими локальными филиалами. Если у вас слияния без ускоренной перемотки, вы не сможете по-настоящему автоматизировать, потому что перед повторным нажатием потребуется ручное вмешательство в слияние.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...