#git #git-branch
#мерзавец #git-ветвь
Вопрос:
У меня была ветка ( b)
от dev ( a
), которую я ожидал объединения. Тем временем я локально разветвился c
b
и внес некоторые изменения. Я еще не давил.
Теперь ветка b
была объединена в dev a
и b
удалена с пульта дистанционного управления. Как я могу перенести свои локальные изменения c
в новую ветку a
, чтобы сразу же перенести изменения в новую ветку a
?
ИМЕТЬ
|
|
| |
| |
| | /
| |/
| /
|/
|
a b c
ХОЧУ
|
| |
| |
| /
|/
a d
Комментарии:
1. Вы можете создать ветку
d
изa
, а затем выбрать вишню ( git-scm.com/docs/git-cherry-pick ) каждый коммит , сделанныйc
в.
Ответ №1:
Как прокомментировал @odradek, я использовал cherry-pick
:
Во-первых, используйте git log
while на ветке c:
Скопируйте хэш коммита, который мне нужен для выбора вишни, и выйдите, нажав q
git checkout a
git checkout -b d
git cherry-pick {your hash}
Устраняйте любые конфликты, фиксируйте и продвигайте.