Создание ветки git после факта?
Я подозреваю, что ответ на мою проблему довольно прост, но я новичок git, и моя голова путается при чтении ответов на все похожие вопросы SoF, которые, похоже, не являются моей проблемой.
Здесь моя проблема:
У меня есть репо в github с одной ветвью ( "мастер" ), над которой я работал в своем локальном репо. В какой-то момент я прекратил настаивать на том, чтобы добиться успеха, чтобы справиться с github, потому что я волновался, что они сломают вещи. Итак, теперь у меня много коммитов в моем локальном репо, я хочу вернуться к github.
Однако, вместо того, чтобы подталкивать назад к мастеру, я бы предпочел создать новую ветвь на github ('development') и направить все мои локальные коммиты обратно на эту ветку (которую я буду объединять обратно в master только после того, были лучше протестированы).
Каков простой способ сделать это?
Ответы
Ответ 1
для мастера:
git checkout -b newbranch
или, как предложено ниже, просто выполните git branch newbranch
, чтобы создать новую ветку, не переключаясь на нее.
Это создаст ветку, которая находится в вашей текущей фиксации на главном сервере. Сделано:
git checkout master
а затем:
git reset --hard <commit_hash>
Где <commit_hash>
следует заменить идентификатором фиксации, на который вы хотите вернуть мастер.
Теперь вы можете переключиться на новую ветку и вытолкнуть ее на пульт.
git checkout newbranch
git push origin newbranch