2012-03-08 6 views
0

Я нашел несколько ресурсов в Интернете, включая два вопроса здесь, в SO, но мне непонятно, какие команды выполнять.Синхронизация двух репозиториев git (или github)

  • У меня есть GIT репозиторий (в GitHub) кто-то ветвится его и создать локальную копию
  • я создать локальную копию моего собственного.

Q1. Какие команды нужны ему для просмотра этих изменений?

#me 
git commit 
git push 
#him 
? 
? 
? 

Q2. Если он внесет какие-то изменения в какие команды мне нужны, чтобы иметь эти изменения?

#him 
git commit 
git push 
# me 
? 
? 

Это может быть очень простой вопрос, но, похоже, я не нашел ответа.

ответ

2

Чтобы получить изменения, вы просто используете git pull, предполагая, что вы оба используете тот же пульт. Если ваш пульт - это ваше ретранслятор Github, а его пульт - это вилка, тогда вам нужно будет добавить свою вилку в качестве пульта. (И он должен будет добавить ваше оригинальное репо как удаленное, а также). См. managing remotes из документации Github.

+0

Да, они разные пульты дистанционного управления ... (читая ссылку) – OscarRyz

3

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

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

git remote add upstream <others-git-url> 
git pull upstream <branch> 

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

Что касается другого способа, вы можете применить эту же концепцию для другого человека (возможно, назовите новый пульт downstream).


В качестве примечания он может работать гладко, если человек, который хранилище Сервер порождает только отправляет запрос тянуть что другие пользователи могут просто работать с. Таким образом, несколько пользователей могут работать на одном ветке , что значительно упрощает синхронизацию. Когда завершается запрос на вытягивание , изменения могут быть перенесены в главный администратор оригинал github репозиторий. Альтернативой является просто работать в том же репозитории github (создать новую ветку для новой совместной работы), хотя это действительно сводится к текущей ситуации работы/совместной работы.

Вы можете использовать hub, чтобы сделать запрос на получение через командную строку, если вы хотите, или через веб-интерфейс GitHub.

+0

Спасибо за ответ. Вопрос: как для запроса на тягу есть команда для этого? В коллективной части вы знаете, поддерживает ли github более одного человека в неорганизационном репозитории? (т. е. я создал один из них в github, может ли кто-то еще нажать на это?) – OscarRyz

+0

Вам нужно сделать запросы на тягу с фактического сайта GitHub (есть кнопка, доступная для этого из * forked * или * оригинального * репозитория Альтернатива, если вам нужна чистая командная строка, вы можете посмотреть на https://github.com/defunkt/hub утилиту для взаимодействия с GitHub из командной строки. Вы можете разрешить нескольким пользователям иметь push-доступ к репозиторий (неорганизационный и общедоступный), добавив их как * соавтор * (через интерфейс администратора). –

+0

Да, не используя интерфейс GitHub, но напрямую с помощью команд (и создайте для этого сценарий) – OscarRyz

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