Создать ветку из текущего рабочего дерева и сбросить в HEAD - PullRequest
21 голосов
/ 19 января 2010

В настоящее время я работаю над функцией, которая оказывается больше, чем ожидалось, поэтому, вероятно, лучше всего создать ветку для работы с ней. Поэтому мне нужно создать новую ветку из моего текущего рабочего каталога и сбросить основную ветку на текущую HEAD, чтобы можно было внести некоторые исправления в производственную среду.

Как-то это звучит как легкая задача, но я не могу понять это. Возможно, из-за моего недостатка сна.

Ответы [ 2 ]

21 голосов
/ 19 января 2010

Итак, создайте рабочую ветку:

git checkout -b working_branch

либо зафиксируйте или сохраните ваши изменения

git add <files>
git commit -m "message"

ИЛИ

git stash

Вернитесь к мастеру

git checkout master
git reset HEAD
14 голосов
/ 19 января 2010

Если вы еще не сделали коммит, вам не нужно перемещать мастер, он уже на текущем HEAD. Вы можете просто оформить новую ветку с помощью checkout -b, вам не нужно, чтобы ваше рабочее дерево было чистым.

* 1005 Е.Г. *

git checkout -b newtopic

Вы сейчас на newtopic и можете зафиксировать изменения вашего рабочего дерева здесь. master не нужно двигаться.

...