Github - внесение изменений в существующую локальную ветку в новую удаленную ветку - PullRequest
0 голосов
/ 15 июля 2011

У меня есть ветка "dev" git. Я сделал некоторые изменения кода локально. Я не отправил их в удаленную ветку "dev". Теперь, когда я на полпути к изменениям, я не хочу фиксировать локальные изменения в той же удаленной ветви. Я хотел бы создать новую ветку с именем over_here и зафиксировать изменения там.

Как это можно сделать?

Ответы [ 2 ]

6 голосов
/ 15 июля 2011

Предполагается, что ваш пульт имеет стандартное имя git origin:

git checkout -b over_here
git push origin over_here

В зависимости от того, требуется ли вам сбросить ветку dev обратно в состояние origin/dev, вы также можете выполнить

git checkout dev
git reset --hard origin/dev

ОБНОВЛЕНИЕ: Выше было написано, если у вас есть изменения. Как вы сказали в комментариях, вы ничего не передали в локальную ветку dev - вам нужно оформить покупку новой ветки прямо сейчас:

git checkout -b over_here

Теперь ваши изменения все еще здесь, но вы во вновь созданной ветке. Итак, вы готовы зафиксировать свои локальные изменения:

git commit -m 'my local changes to over_here branch'

Теперь эти изменения есть только в вашем локальном репо. Если вы хотите поместить их в удаленный репозиторий (возможно, github) - вам нужно выполнить:

git push origin over_here

Это создаст новую ветку в удаленном хранилище и сохранит ваши изменения там.

0 голосов
/ 15 июля 2011

Если вы хотите подтолкнуть вашу ветку foo к ветке bar на пульте origin, вы можете использовать git push origin foo:bar.git push origin foo является сокращением для git push origin foo:foo

Если вы используете git push --set-upstream origin foo:bar, вы можете использовать просто git push и git pull для этой ветви без необходимости указывать имена удаленных и ветви.

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