MyTetra Share
Делитесь знаниями!
О, смотри-ка какое хорошее место. Дайте два!
Как в Git создать новую ветку в условиях, когда что-то уже было изменено после последнего коммита
01.07.2015
01:14
Текстовые метки: git, новая, ветка, последний, коммит
Раздел: Компьютер - Программирование - Системы контроля версий (VCS) - Git

Вопрос:

Сделал я коммит, потом стал править код. Под конец правки осознал, что эта правка уже тянет на отдельную ветку.

Как сделать новый коммит так, чтобы образовалась новая ветка, и в нее поместилась последняя правка проекта?


Примечание


Я нашел команду checkout -m, которая вроде делает то что нужно. Но она вначале сохраняет изменение в текущей ветке, а изменения мне требуется сохранить в новой ветке:


Если в текущей ветке были какие-то изменения по сравнению с последним коммитом в ветке (HEAD), то команда checkout откажется производить переключение на другую ветку, дабы не потерять произведенную работу.


В случае, когда изменения надо все же сохранить, у команды checkout используют ключ -m. Тогда команда перед переключением попробует залить изменения в текущую ветку и, после разрешения возможных конфликтов, переключиться в новую:


checkout -m some-other-branch



Ответ:


Нужно спрятать в "карман" (stash) изменения, создать новую ветку и переключиться на нее. Потом достать изменения из кармана.


Команды будут такими:


$ git stash

$ git checkout -b new_useless_feature

$ git stash pop


Так же в этом разделе:
← Содержание ...
 
MyTetra Share v.0.35
Яндекс индекс цитирования