объединить один локальный филиал в другой локальный филиал

169

У меня есть несколько веток, которые разветвляются от мастера (каждая в отдельном подкаталоге).

  • Branch1: новая разработка, еще не полностью завершена
  • Branch2: исправление для проблемы, но все еще тестируется
  • Branch3: возиться с веткой, которую я не буду восстанавливать

Прежде чем тестирование исправления будет завершено, я хотел бы иметь код, уже доступный в Branch1, чтобы я мог продолжить разработку с исправлением на месте.
(Но так как мой опыт работы с git не так уж и велик, я сначала начал играть с слиянием в 3-й ветке, особенно созданной для того, чтобы возиться, прежде чем я испорчу либо Branch1, либо Branch2)

В моей 3-й ветке я впервые попробовал следующее:

git merge feature/Branch1

но это дало следующую ошибку:

fatal: 'feature/Branch1' does not point to a commit

Затем я сделал коммит -a в своем Branch1 и попробовал снова, но он продолжает выдавать ту же ошибку.

Что я делаю не так? Что я должен сделать, чтобы объединить код - в этом случае - Branch1 с Branch3?

Nemelis
источник

Ответы:

239

Во-первых, проверьте ваш Branch3:

git checkout Branch3

Затем объедините Branch1:

git merge Branch1

И если вы хотите обновленные коммиты Branch1 на Branch2, вы, вероятно, ищете git rebase

git checkout Branch2
git rebase Branch1

Это обновит ваш Branch2 последними обновлениями Branch1.

Gabra
источник
1
(Я хочу обновления Branch2 до Branch1 ;-)) Branch2 видит Branch1, но не наоборот, когда я выполняю git ветку -a в обеих ветвях. Следовательно, я не могу сделать ребаз в Branch2 в Branch1: git rebase Branch2 -> fatal:
требовалась
Когда я делаю ребаз в качестве источника git rebase / Branch2, он по-прежнему выдает это сообщение об ошибке + недопустимый источник в восходящем направлении / Branch2
Nemelis
1
@ Si8 это добавит только коммиты из Branch1 в Branch3. Branch1 будет сохранен как есть.
Габра
1
Спасибо, что если я сейчас нахожусь в ветке Dev и выполняю слияние Dev1, оно слит Dev1 с Dev, я прав?
Si8
1
Да. Я рекомендую попробовать это. Если что-то сломается, вы можете вернуться. Это цель VCS.
Габра