2013-09-12 3 views
0

Я работаю над открытым исходным кодом проекта на GitHub, и я клонировал проект, делаяGit вытягивать/слияния от конкретного и ветви

git clone [email protected]:project.git

Теперь все работает отлично, я могу запустить проекта и работы над ним. Но это была главная ветвь, и теперь кто-то создал ветку с именем user_interface и добавил некоторый базовый HTML, теперь мне нужно вытащить этот user_interface и объединить его в мой локальный рабочий файл, поэтому я могу сразу начать использовать эти дополнительные функции из этого пользователь. Но проблема заключается в том, как явным образом вызывать вызов этой веткой user_interface и объединить ее с моей локальной копией.

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

ответ

2

С git pull ваш репозиторий уже осведомлен о новой ветке в «основном» репозитории.

Теперь вам нужно сделать удаленную ветвь локальной ветвью. Вы можете добиться этого с:

$ git checkout user_interface

Затем вернитесь к мастеру:

$ git checkout master

и слияния:

$ git merge user_interface

+0

Спасибо, я сделал все, что вам сделал, он показал мне некоторые файлы с зеленым ++ и красным - в них, значит ли это в буквальном смысле, теперь, когда я использую все файлы и обновляюсь в 'user_interface'? – ANW

+0

Да, вы находитесь в главной ветке с вложенными в нее модификациями 'user_interface'. –

+0

Просто из любопытства, если я хочу вытолкнуть это репо, но не хотел, чтобы он сливался с ветвями 'master' или' user_interface', но в свою собственную ветвь, как я могу дать ему новое имя ветки и нажмите эту ветку? – ANW

1

С git fetch вы будете захватывать все ветки в удаленном репозитории и затем может делать все, что вы хотите.

+0

Git pull уже выбирает. –

+0

Да и слияния - это может быть неправильный шаг. – Sven

+0

Проблема в том, что ветка отслеживания для новой удаленной ветви 'user_interface' отсутствует. –

2

Если я исправить undertund Вы, Шоуд использовать

мерзавца тянуть происхождения user_interface

и если вы хотите, чтобы эти изменения в user_interface отрасли, необходимые для выборки хранилища, чтобы показать удаленные филиалы и проверку на него и Мардж в ранее marget по мерзавца тянуть происхождения user_interface мастер

2

Вы хотите, чтобы принести копию всей мерзавца reposi Тори с удаленного сервера (только в случае, если он был обновлен, так как вы в последний раз потянул):

git fetch origin 

Затем вам нужно оформить эту ветку и связать его с удаленного филиала:

git checkout -b user_interface origin/user_interface 

You теперь вы будете локально на ветке user_interface вместе с отслеживанием удаленной ветви (чтобы вы могли запускать простую команду git pull). Чтобы объединить его с вашим хозяином, вернитесь к мастеру и слейте его в:

git checkout master 
git merge user_interface 

Вот и все!

+0

спасибо, вы знаете решение для этого? http://stackoverflow.com/questions/18772414/git-pulling-merging-from-a-specific-and-branch#comment27676964_18772774 – ANW

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