Синхронизировать два репозитория git (или github) - PullRequest
0 голосов
/ 08 марта 2012

Я нашел несколько ресурсов в интернете, включая два вопроса здесь, в SO, но мне не ясно, какие команды нужно выполнить.

  • У меня есть git-репо (в github) кто-то разветвляется и создает локальную копию
  • Я создаю свою собственную локальную копию.

Q1.Какие команды нужны ему, чтобы увидеть эти изменения?

#me 
git commit 
git push 
#him
?
? 
?

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

#him
git commit
git push 
# me 
?
? 

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

Ответы [ 2 ]

3 голосов
/ 08 марта 2012

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

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

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

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

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


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

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

2 голосов
/ 08 марта 2012

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

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