Как вернуть локальную ветку обратно в нее, как она находится в github?

Я сделал немного развития против неправильной ветки в моем локальном репозитории. Я сделал git branch без следующего выполнения git checkout. Команды выглядят примерно так:

#On branch development
git branch release-v0.2.0b
# changes and several commits
git push origin release-v0.2.0b

И когда я понял, что работаю над неправильной ветвью. Мой репозиторий github находится в правильном состоянии, но моего локального репо нет. Я объединил изменения от разработки в release-v0.2.0b, но мне хотелось бы, чтобы reset была разработана так же, как и в моем реестре github. Какой лучший способ сделать это?

Ответ 1

Просто, чтобы убедиться, что я понимаю состояние вещей: вы создали ветвь релиза, но не проверяли, поэтому ваши коммиты находятся в ветке разработки в вашем локальном репозитории. Вы сказали, что вы объединили изменения в ветку release-v0.2.0b.

Если это так, и нет других коммитов в ветке разработки, которые необходимо сохранить, просто удалите локальную копию ветки разработки и проверьте ее снова из источника.

Сначала проверьте, какие у вас есть ветки и на каком из них вы находитесь:

git branch -av

Затем откройте ветку разработки, чтобы удалить ее:

git checkout origin/development
git branch -D development

Это фактически оставляет вас без ветки, но вы вернетесь к ветке, когда вы проверите ее снова из источника:

git checkout origin/development -b development

Я предлагаю проверить происхождение/развитие, чтобы избежать ненужного взлома файлов в вашем снимке.

Ответ 2

Еще быстрее вы можете просто reset локальную ветвь на конкретный пульт:

git reset --hard remote/branch

Где "remote" имя вашего удаленного телефона Если "ветвь" - имя удаленной ветки

Ответ 3

Вернитесь к ветки локального выпуска, в которую вы хотите внести изменения, Pull there from github.

git checkout local-branch-that-refers-public-v0.2.0b
git pull origin release-v0.2.0b

Затем reset указатель на ветку локальной ветки, который вы перенесли на предыдущую фиксацию, вы хотите вернуться назад.

git checkout release-v0.2.0b
git reset HEAD^