git: зафиксировать текущую незавершенную работу в текущей ветке в новую ветку - PullRequest
6 голосов
/ 20 октября 2011

Иногда я нахожу себя в следующей ситуации: Я работаю над веткой (скажем, master) и редактирую некоторые файлы, но когда приходит время для фиксации, я понимаю, что предпочел бы зафиксировать новую ветку (скажем, экспериментальную). Другими словами, старая ветвь (master) должна оставаться нетронутой, и должна быть создана новая ветвь, которая будет выглядеть следующим образом:

.. -- master -- new commit

Какой самый простой способ сделать это?

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

Ответы [ 3 ]

4 голосов
/ 20 октября 2011
git checkout -b branch       # create new branch out of current head
git add <files>              # the changes you had done in your working directory will be carried over
git commit -m "message"      # commit!
1 голос
/ 20 октября 2011

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

$ git checkout -b new_branch
$ git commit
0 голосов
/ 20 октября 2011

Другая возможность для вас - пойти дальше и зафиксировать их в ветви master, а затем отрезать другую ветку от новой HEAD (скажем, feature).Как только это будет сделано, вы можете git reset освоить позицию до фиксации.

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