2010-01-27 3 views
11

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

#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, но я хотел бы вернуться к тому, как это было в моем реестре github. Каков наилучший способ сделать это?

ответ

13

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

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

Во-первых, убедитесь, что ветви у вас есть и какие из них вы находитесь на:

git branch -av 

Затем переключитесь от ветви разработки, так что вы можете удалить его:

git checkout origin/development 
git branch -D development 

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

git checkout origin/development -b development 

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

2

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

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

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

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

Даже быстрее, вы можете просто сбросить местное отделение для конкретного дистанционного управления:

git reset --hard remote/branch 

Где «удаленный» имя удаленного
Где «филиал» название удаленного филиала

+0

Спасибо , Этот ответ - именно то, что я искал, и должен быть правильным. –

+0

Это должен быть принятый ответ. –

 Смежные вопросы

  • Нет связанных вопросов^_^