создание git ветки по факту? - PullRequest
39 голосов
/ 17 марта 2011

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

Вот моя проблема:

У меня есть репозиторий в github с одной веткой ('master'), над которой я работал в своем локальном репо. В какой-то момент я перестал выдвигать коммиты обратно на master на github, потому что боялся, что они что-то сломают. Так что теперь у меня есть много коммитов в локальном репо, которые я хочу перенести обратно на github.

Однако вместо того, чтобы возвращаться обратно к мастеру, я бы предпочел создать новую ветку на github («разработка») и перенести все мои локальные коммиты обратно в эту ветку (которую я сливаю обратно в мастер только после того, как они » был лучше проверен).

Какой простой способ сделать это?

1 Ответ

55 голосов
/ 17 марта 2011

на мастере:

git checkout -b newbranch или, как предлагается ниже, просто выполните команду git branch newbranch, чтобы создать новую ветвь, не переключаясь на нее.

Это создаст ветку с текущим коммитом на master. После того, как сделано:

git checkout master

с последующим:

git reset --hard <commit_hash>

Где <commit_hash> должен быть заменен идентификатором фиксации, к которому вы хотите откатить мастер.

Теперь вы можете переключиться на новую ветку и вытолкнуть ее на пульт.

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