Простой github выборки / слияния не тянет в удаленной ветви? - PullRequest
1 голос
/ 11 марта 2011

У меня есть проект, который я создал на github в своем хранилище.Я внес изменения в ветку «Эксперимент» проекта и передал проект моей вилке.Если вы зайдете в мою ветку на Github, вы увидите, что ветка эксперимента была правильно зафиксирована.Я хотел бы объединить ветку эксперимента с исходным репо (на что у меня есть права).Я ввел следующие команды:

git clone git@github.com:originalrepo/theproject.git
git checkout -b experiment origin/experiment
cd theproject
git remote add experiment git@github.com:chumofchance/theproject.git 
git fetch experiment
git merge experiment
"Already up to date"

Однако, когда я просматриваю проект в проводнике, кажется, что ничего не изменилось.Я что-то напортачил в связи с получением ветки эксперимента (против основной ветки)?

Ответы [ 2 ]

3 голосов
/ 11 марта 2011

(Как очень незначительный момент, я думаю, что вы действительно сделали cd theproject до git checkout.)

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

Последняя строка фактически просто объединяет ветку experiment в ветку experiment, которая, очевидно, не вносит никаких изменений.Вы, вероятно, вместо этого хотели сделать что-то вроде:

git merge experiment/foo

... вместо этого.

Просто чтобы прояснить ситуацию, я бы назвал пульт дистанционного управления, который ссылается на ваш репозиторий, как-то по-другому, просто чтобыдержите идею ветки и пульта отдельно.Например:

git clone git@github.com:originalrepo/theproject.git
cd theproject
git checkout -b experiment origin/experiment
git remote add myforkedrepo git@github.com:chumofchance/theproject.git 
git fetch myforkedrepo

На этом этапе git branch -r должен показать вам все ветви из myforkedrepo, которые были только что извлечены как myforkedrepo/master, myforkedrepo/foo, myforkedrepo/experiment и т. Д. Простовыберите одну из них для объединения, например

git merge myforkedrepo/foo
0 голосов
/ 11 марта 2011

Предполагая, что вы хотите experiment/experiment - то есть ветвь "эксперимент" в репо "эксперимента" - на ветке originalrepo/master:

git checkout master
git merge experiment/experiment
git push origin master
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...