Если вы не еще не завершили свою локальную работу, тогда я предлагаю сделать git stash
, чтобы спрятать ваш текущий рабочий каталог и сцену.Затем создайте новую ветку из master
и примените свой тайник.Попробуйте это:
# from master
git stash
git checkout -b your_feature
git stash apply
git commit -m 'completed a feature'
Это оставит вас в новой ветке your_feature
с одним коммитом, содержащим всю вашу работу.Что вы будете делать с этого момента, будет зависеть от вашего рабочего процесса.Типичным следующим шагом было бы передать вашу ветку на удаленный компьютер и создать запрос на извлечение:
git push origin your_feature
# then create pull request on GitHub, Bitbucket, etc.
Если вы уже сделали один или несколько коммитов, то ситуациянемного сложнее.В этом случае вы можете просто зафиксировать свою локальную работу, а затем создать новую ветку:
# from master
git commit -m 'completed a feature'
git branch your_feature
Затем вы можете откатить master
до того, как вы сделали коммиты.Например, если вы уже сделали три коммита, включая приведенный выше, вы можете попробовать:
git reset --hard HEAD~3
Теперь у вас есть добросовестная ветвь с тремя коммитами, а master
должен отставатьпульт, и он не должен быть впереди пульта.