Как зафиксировать локальные изменения от мастера к другой ветке - PullRequest
0 голосов
/ 19 июня 2019

Я новичок в работе с Git, и некоторые вещи или команды мне понятны. Моя проблема сейчас описана здесь:

Вчера я получил последнюю версию master. Я сделал некоторые локальные изменения, которые в итоге оказались больше, чем ожидалось. Теперь я хочу передать этот локальный статус другому branch (который называется "image_acquisition" ).

Итак, вкратце мои вопросы:

  1. Я "2 коммитов за хозяином". Что я должен учитывать, чтобы ничего не сломать? Этот шаг вообще необходим?

  2. Более важно: как должна быть команда, чтобы я все чистил в ветке?

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

1 Ответ

4 голосов
/ 19 июня 2019

Если вы не еще не завершили свою локальную работу, тогда я предлагаю сделать 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 должен отставатьпульт, и он не должен быть впереди пульта.

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