2009-12-17 3 views
2

Отсюда, http://cheat.errtheblog.com/s/git, я думаю я могу воссоздать филиал в моем локальном репозиторииКак работать местный филиал в мерзавца

$ git branch mytestbranch 
<then I can may changes as my experimental> 

Мой вопрос состоит в том, как можно

  • Я забыл все изменения, которые я внес в ветку «mytestbranch»? и вернуться к исходной сцене/версии моего репозитория?
  • Я сохраняю изменения, которые я сделал, и перемещаю все в свою «главную» ветку?

Спасибо.

+0

Чтобы уточнить вашу ситуацию: похоже, что есть удаленный репозиторий, в этом удаленном репозитории есть ветвь (давайте назовем ее foo), и вы использовали 'git clone', чтобы создать локальное репо, которое отражает этот удаленный Сделки рЕПО. Вы видите ветвь с именем origin/foo, но вам нужна ветка с именем foo, над которой вы можете работать. Это верно? –

+1

Когда я начал использовать git, мне было очень полезно запустить 'gitk -all', чтобы посмотреть, что происходит в графиках. – ndim

ответ

4

Если вы хотите забыть все, что вы делали в mytestbranch, и вы не хотите использовать какие-либо из этих изменений, вы не должны делать, просто переключиться на мастер и удалить ветвь:

git checkout master 
git branch -D mytestbranch 

Если вы хотите объединить все изменения, сделанные вами в mytestbranch просто сливаются:

git checkout master 
git merge mytestbranch 
git branch -d mytestbranch 

разница между git branch -D и git branch -d является то, что первые могут удалить ветви, которые не были полностью объединены в HEAD.

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