2013-06-03 2 views
3

У нас есть один внутренний удаленный репозиторий в stash и один репозиторий в github для наших сторонних консультантов. Мы пытаемся синхронизировать репозиторий в «Atlassian Stash» в хранилище в GitHub каждый день. Следующей процедурой является изменение пульта дистанционного управления на github с помощью заданного url и вытаскивание из github (ветви, которую я желаю) в мой локальный каталог, а затем я снова удаляю пульт в «stash» и нажимаю изменения там из моего локального каталога. Это хороший подход или есть лучший способ сделать это?лучший способ синхронизации двух удаленных репозиториев в GIT

+1

Вы можете использовать серверные перехватчики, чтобы сделать то же самое, но автоматически. http://git-scm.com/book/en/Customizing-Git-Git-Hooks#Server-Side-Hooks –

+0

, используя термин «stash» в вашем контексте, может сбивать с толку, поскольку есть команда 'git stash', которая как правило, с короткой стеной – g19fanatic

+3

Почему бы вам просто не настроить два пульта дистанционного управления (один из которых указывает на ваше внутреннее «дистанционное» репо, а одно - на ваш github) ... нет необходимости устанавливать URL-адрес для изменения местоположения для каждый push/pull – g19fanatic

ответ

1

Как @ g19fanatic говорит, не нужно продолжать изменять удаленные URL. Только

git pull <name of stash remote> 
git push <name of github remote> 

Для этого вам нужны два отдельных пульта дистанционного управления; добавьте второй, если необходимо, с git remote add

+0

Привет, спасибо за ваш комментарий, поэтому я должен также добавить и зафиксировать, прежде чем нажимать его на удаленный github или он будет автоматически слиявать? – vkaul11

+0

@vkaul Операция 'pull' включает в себя шаг' merge'. Не нужно добавлять и фиксировать файлы, которые вы просто «вытащили», прежде чем «нажимать» их. – gcbenison

1

Для этого вы можете использовать hook.

Вы можете нажать на второй репо, когда первый один вызывает post-receive