połączyć jeden oddział lokalny z innym oddziałem lokalnym

167

Mam wiele gałęzi, które są rozgałęzione od głównego (każda w osobnym podkatalogu).

  • Oddział 1: nowy projekt, jeszcze nie ukończony
  • Branch2: poprawka do problemu, ale nadal w fazie testów
  • Branch3: bałagan wokół gałęzi, którego nie przywrócę

Przed zakończeniem testowania poprawki chciałbym, aby kod był już dostępny w Branch1, abym mógł kontynuować programowanie z zainstalowaną poprawką.
(Ale ponieważ moje doświadczenie z git nie jest takie duże, najpierw zacząłem bawić się scalaniem w trzeciej gałęzi, specjalnie stworzonej do bałaganu, zanim zepsuję Branch1 lub Branch2)

W mojej trzeciej oddziale najpierw wypróbowałem:

git merge feature/Branch1

ale spowodowało to następujący błąd:

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

Następnie wykonałem zatwierdzenie -a w moim Branch1 i spróbowałem ponownie, ale nadal wyświetla ten sam błąd.

Co ja robię źle? Co powinienem zrobić, aby scalić kod z - w tym przypadku - Branch1 z Branch3?

Nemelis
źródło

Odpowiedzi:

236

Najpierw zapłać do oddziału3:

git checkout Branch3

Następnie połącz Branch1:

git merge Branch1

A jeśli chcesz zaktualizowanych zatwierdzeń Branch1 na Branch2, prawdopodobnie szukasz git rebase

git checkout Branch2
git rebase Branch1

Spowoduje to zaktualizowanie Branch2 o najnowsze aktualizacje Branch1.

Gabra
źródło
1
(Chcę zaktualizować Branch2 do Branch1 ;-)) Branch2 widzi Branch1, ale nie odwrotnie, kiedy robię git branch -a w obu gałęziach. Dlatego nie mogę wykonać rebase do Branch2 w Branch1: git rebase Branch2 -> fatal: Needed a single revision
Nemelis
Kiedy wykonuję rebase jako git rebase origin / Branch2, nadal wyświetla ten komunikat o błędzie + nieprawidłowe źródło nadrzędne / Branch2
Nemelis
1
@ Si8 to doda tylko zatwierdzenia z Branch1 do Branch3. Branch1 pozostanie bez zmian.
gabra
1
Dziękuję, więc jeśli jestem obecnie w gałęzi Dev i połączę Dev1, to połączy Dev1 z Dev, czy mam rację?
Si8
1
Tak. Polecam spróbować. Jeśli coś się zepsuje, możesz wrócić. Taki jest cel VCS.
gabra