2014-04-17 3 views
2

Я был большим поклонником Plastic SCM некоторое время, используя его локально для своих личных проектов. В последнее время я решил внести свой вклад в проект с открытым исходным кодом на github. Поскольку Plastic SCM можно использовать в качестве клиента github, я решил использовать его как таковой.Синхронизация вилки на github с пластиковым SCM

Теперь это мой первый раз, используя GitHub, поэтому я последовал классический рабочий GitHub, как описано во всех учебниках:

  • Вилка репо, чтобы получить свой собственный экземпляр
  • синхронизации репо Пластиковые СКМ персональный GitHub репо
  • Commit в пластмассе ревизии SCM
  • синхронизации репо Plastic SCM с GitHub снова

До сих пор все шло хорошо. Я внесла свой код, загрузил его в github и увидел, что все изменения и ветви появятся в github webui.

Далее я поставил запрос на тягу к оригинальному репо, с которого я разветвлялся. Вот где мои проблемы начинаются. Запрос на перенос был принят, и в исходном репо появился новый набор изменений, содержащий мой запрос на извлечение. Кажется, что все мои промежуточные ветви также не перешли на исходное репо. не

github Network Graph

Как показано на графике сети выше, исходный репо (фиолетовый) теперь уже не в синхронизации с месторождением. Я начал с дальнейшего развития в другом филиале (VEH003), но этот, кажется, полностью отключен от исходного репо (фиолетового).

В моем клиентском клиенте SCM я вижу точно такие же сетевые графики в ветвистом проводнике, за исключением фиолетовой ветви.

Я прочитал, что для обновления вилки с помощью наборов изменений из исходного репо это должно быть сделано явно, а в вашем локальном репозитории git (github help). Теперь я не знаю, как это делается с использованием Plastic SCM.

ответ

2

Чтобы синхронизировать локальную вилку с исходным репо, как описано в справке github, вам необходимо объединить ведущую ветвь вверх по течению с локальной ветвью хозяина.

Дело в том, что Plastic SCM не отслеживает или не синхронизирует исходные ссылки (ссылки исходного репо), а только ссылки репозитория github.

Чтобы обновить свою вилку и продолжить работу с Plastic SCM, вы должны использовать клиент git командной строки для выполнения обновления в соответствии с руководством, которое вы связали, нажмите локальные изменения git в репозиторий github, а затем синхронизируйте их с Пластиковым SCM с github, чтобы получить изменения. Шаг за шагом:

  • Используйте клиент GIT клонировать ваше хранилище GitHub

    git clone your-fork-url

  • Добавить в восходящем хранилище.

    git remote add upstream original-repo-url

  • Fetch вверх по течению ссылки.

    git fetch upstream

  • Merge вверх по течению изменения в основной ветке.

    git checkout master

    git merge upstream/master

  • Нажмите мастер филиал в репозиторий Github.

    git push origin master

  • синхронизации Plastic SCM с GitHub репо.

Смежные вопросы