2013-04-19 3 views
2

У меня есть локальный репозиторий github, который является старой версией проекта с открытым исходным кодом на Github. Мне нужно обновить мой локальный репозиторий с новой версией на github, но я не знаю с чего начать.Слияние локального репо с проектом Github

Я увидел пример, где я использую команду «git remote add {name} {URL-адрес репозитория github}». Это верно? Я могу заменить поле {name} на свой локальный репозиторий?

Любые предложения были бы очень признательны.

Я новичок в github, и я не хочу разрушать свой локальный репозиторий, поэтому я надеюсь, что кто-то, у кого есть опыт, может предложить некоторые советы.

спасибо.

ответ

2
  1. Добавьте удаленный репозиторий (я назвал его upstream здесь, вы могли бы назвать это все):

    git remote add upstream {URL of github repository} 
    
  2. Fetch все коммиты, ветви, теги и т.д. из upstream дистанционное репо. Это безопасная команда и не уничтожает историю вашего местного репо или ваше рабочее дерево.

    git fetch upstream 
    
  3. Вы можете запустить git log upstream/BRANCH_NAME или git log upstream/TAG_NAME, чтобы увидеть список фиксаций для данного BRANCH_NAME или TAG_NAME на пульте upstream. Фактически для любой из команд git, если вы хотите обратиться к ветви, присутствующей в удаленном upstream, используйте синтаксис upstream/<BRANCH_NAME>. Для тегов должно быть достаточно tags/TAG_NAME.

  4. Если вы хотите объединить или переустановить изменения этих тегов или филиалов в своем локальном репо, вы можете сделать это, используя командыи rebase. Дайте мне знать, если вам нужна дополнительная помощь по этим командам.

+0

Я следил за вашими командами, и я теряюсь, когда хочу объединить определенный тег. Я вижу указанное имя тега, которое я хочу объединить с моим репо. Я делаю что-то вроде «git merge --tag »? – loulou

+0

О, я думаю, что я делаю это «git merge tags/». Я пробовал это, и у него может быть работа. Это правильно? – loulou

+0

Спасибо за помощь. «Git merge tags/tag_name», похоже, делали трюк :) – loulou

0

Да, это правильно

git remote add upstream git://github.com/antirez/redis.git 

name часть просто name you pick так, чтобы легко ссылаться.

Adds a remote named <name> for the repository at <url>. The command 
    git fetch <name> can then be used to create and update 
    remote-tracking branches <name>/<branch>. 
+0

Что делать, если мне нужно захватить конкретный тег репозитория github? Есть ли способ указать конкретную версию с помощью этой команды? Похоже, что на основе страницы руководства, которую я могу использовать, --tags? – loulou

+0

Я попробовал команду с '--tags', именем тега и URL-адресом проекта github с открытым исходным кодом, но ничего не произошло. Мое местное частное репо также является github, и я заметил, что команда отредактировала мой .git/config в моем приватном локальном проекте github. Нужно ли мне изменить файл .git/config, чтобы указать на проект с открытым исходным кодом? – loulou

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