Герои с использованием git branch сбивают с толку! - PullRequest
10 голосов
/ 01 декабря 2009

Хорошо, у меня есть большой проект github, в который я не должен сливать свою маленькую ветку Stacia. Тем не менее, похоже, что Heroku воспринимает MASTER только серьезно. Похоже, что я нажал на свою ветку, но, например, если у меня есть только моя ветка, она даже действует так, как будто на сервере нет кода. Я даже не могу установить свои гемы, так как файл .gems находится в моей ветке.

По сути, я даже не хочу, чтобы Героку знал, что есть мастер. Я просто хочу использовать мою тестовую ветку Stacia. Но он продолжает игнорировать мою местную ветку. Есть ли способ сделать это? И опять же, я не хочу ничего перезаписывать в главном репозитории Github (eeek!), Но было бы неплохо, если бы у меня были master и моя ветка на heroku, и я объединил их там.

Я абсолютный новичок (на окнах не меньше), поэтому, пожалуйста, потерпите меня.

Ответы [ 2 ]

58 голосов
/ 21 января 2010

Если вы хотите перенести другую ветку в Heroku, вы можете сделать что-то вроде

git push heroku yourbranch:master
2 голосов
/ 01 декабря 2009

Первый шаг - убедиться, что вы перебазировали свою локальную ветку поверх ее главной (предположим, она находится в репо 'mainGitHubRepo')

git fetch mainGitHubRepo master
git checkout -b mainGitHubMaster mainGitHubRepo/master

Затем вернитесь в свою ветку и воспроизведите его поверх mainGitHubMaster:

git checkout Stacia
git rebase mainGitHubMaster

Как georgebrock упоминает в комментарии, вам не нужно создавать промежуточную локальную ветвь mainGitHubMaster: вы можете напрямую перебазировать поверх ветви извлечения.

git checkout Stacia
git rebase maingithubrepo/master

После этого вы можете протолкнуть ветку на свою вилку GitHub , а затем сделать запрос на извлечение .

Чтобы отправить локальную ветку на установленный пульт, вам просто нужно использовать:
git push REMOTENAME BRANCHNAME.
Если вы не хотите использовать одно и то же имя в удаленной ветке, вы можете использовать:
git push REMOTENAME LOCALBRANCHNAME:REMOTEBRANCHNAME.

(это то, что Дэвид Доллар упоминает в его ответ : git push heroku yourbranch:master)

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

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