Как вернуть локальную ветку обратно в нее, как она находится в 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^
Ответ 4
Использовать git reset --hard