Чистый способ сделать ветку в Git a posteriori - PullRequest
4 голосов
/ 03 ноября 2010

Скажем, вы работаете над веткой и у вас появляется интересное поведение, которое вы хотите заархивировать как экспериментальную ветку.Какой самый чистый способ сделать это?

Самый чистый способ, который я могу придумать:

1) Сделайте резервную копию вашей локальной версии в другом каталоге.

2) git checkout, чтобы вернуться к вашему последнему коммиту

3) git ветка эксперимент_имя, создать новую ветку

4) git checkout эксперимент_имя, переключиться на новую ветку

5) Скопируйте свою резервную копию в рабочий каталог git.

6) git commit, зафиксируйте вашу новую необычную экспериментальную ветку

Ответы [ 3 ]

6 голосов
/ 03 ноября 2010

Если у вас нет чистого индекса:

git stash
git checkout -b name
git stash pop
... more edits
git commit

Если у вас чистый индекс, вы можете просто создать новую ветку на текущей голове:

git checkout -b name
... edits
git commit

Или, если у вас есть правки, которые принадлежат текущей ветке, и вы хотите поработать над новой экспериментальной веткой некоторое время и вернуть потом:

git stash
git checkout -b name
... edits
git commit
git branch master
git stash pop
... continue work
5 голосов
/ 03 ноября 2010

Просто git checkout -b experiment_name и коммит.

1 голос
/ 03 ноября 2010

Для очень временных вещей, возможно git stash.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...