unire un ramo locale in un altro ramo locale


167

Ho più rami che sono ramificati dal master (ognuno in una sottodirectory separata).

  • Branch1: nuovo sviluppo, non ancora completamente completato
  • Branch2: aggiornamento rapido per un problema, ma ancora in fase di test
  • Branch3: pasticciare su branch, che non ripristinerò

Prima che il test dell'aggiornamento rapido sia terminato, vorrei avere il codice già disponibile in Branch1, quindi posso continuare a sviluppare con la correzione in atto.
(Ma dato che la mia esperienza con Git non è poi così tanto, ho iniziato a giocare con l'unione in un terzo ramo, specialmente creato per rovinare, prima di rovinare Branch1 o Branch2)

Nel mio terzo ramo ho prima provato quanto segue:

git merge feature/Branch1

ma questo ha dato il seguente errore:

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

Successivamente ho fatto un commit -a nel mio Branch1 e ho riprovato, ma continua a dare lo stesso errore.

Che cosa sto facendo di sbagliato? Cosa devo fare per unire il codice da - in questo caso - Branch1 con Branch3?

Risposte:


237

Innanzitutto, fai il checkout su Branch3:

git checkout Branch3

Quindi unire Branch1:

git merge Branch1

E se vuoi i commit aggiornati di Branch1 su Branch2, stai cercando con certezza git rebase

git checkout Branch2
git rebase Branch1

Questo aggiornerà Branch2 con gli ultimi aggiornamenti di Branch1.


1
(Voglio gli aggiornamenti da Branch2 a Branch1 ;-)) Branch2 vede Branch1, ma non viceversa quando faccio un git branch -a in entrambi i rami. Quindi non posso fare un rebase a Branch2 in Branch1: git rebase Branch2 -> fatale: ho bisogno di una singola revisione
Nemelis

Quando eseguo il rebase come git rebase origin / Branch2, viene comunque visualizzato quel messaggio di errore + origine upstream non valida / Branch2
Nemelis,

1
@ Si8 questo aggiungerà solo i commit da Branch1 a Branch3. Branch1 verrà mantenuto così com'è.
gabra,

1
Grazie, quindi se sono attualmente nel ramo Dev e faccio una fusione di Dev1, unirò Dev1 a Dev, ho ragione?
Si8,

1
Sì. Consiglio di provarlo. Se qualcosa si rompe, puoi tornare indietro. Questo è lo scopo di un VCS.
gabra,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.