2016-12-05 22 views
11

Jestem nowy w git. Mam oddział o nazwie BranchA od oddziału. Mam pewne zmiany w BranchA (nie zamierzam scalić zmian z BranchA do master) Teraz mam utworzony inny oddział od mistrza o nazwie BranchB. Chcę zmiany z BranchA na BranchB.Git kopiowanie zmian z jednego oddziału do innego

Czy ktoś może mi pomóc, jak to osiągnąć?

Dzięki

Odpowiedz

12
git checkout BranchA 
git merge BranchB 
git push origin BranchB 

To wszystko, jeśli nie zamierza scalić zmiany z powrotem do opanowania. Ogólnie rzecz biorąc, dobrą praktyką jest połączenie wszystkich zmian z powrotem z mistrzem i tworzenie nowych oddziałów.

Ponadto po komendzie scalania wystąpią konflikty, które należy ręcznie zmodyfikować i naprawić.

1

Scal zmiany z BranchA na BranchB. Kiedy jesteś na BranchB wykonać git merge BranchA

12

Zamiast seryjnej, jak inni sugerują, można rebase jeden oddział na inny:

git checkout BranchB 
git rebase BranchA 

Dzieje BranchB i rebases go na BranchA, które skutecznie wygląda BranchB została rozgałęziona od BranchA, nie master.

+2

To jest prawidłowa odpowiedź, jeśli jedno pragnienie scalenia zmian z jednego oddziału do innego oddziału bez naruszania gałęzi głównej –

4

Jest 2 etapowym procesie

  • git checkout BranchB (destination oddział jest BranchB, więc musimy głowę w tej branży)
  • git scalić BranchA (ja scal BranchB z Branch A. Tutaj połączono kod w gałęzi B)

Jeśli chcesz przesunąć swój kod oddziału do zdalnego repo następnie zrobić

  • mistrz pochodzenie Push git (będzie naciskać kod BranchB do zdalnego repo)