Ho una domanda sullo switching delle filiali utilizzando repo. So che posso checkout un ramo come questo:Cambio di rami Git all'interno di un progetto Android Repo
$ repo init ... -b foo
$ repo sync
mia comprensione è che questo sarà checkout il ramo foo del repository manifesta, e quindi controllare i progetti git come descritto nel manifesto.
Capisco anche che posso passare rami come questo:
$ repo init ... -b bar
$ repo sync -d
La mia domanda è, posso passare rami senza fare repo init & repo sync di volta in volta, e quali sono le implicazioni di farlo?
Permettetemi di illustrare con un esempio:
$ repo init ... -b foo
$ repo sync -d
$ repo start foo-mytopic proj1 proj2
... make some commits ...
$ repo upload -t
$ repo init ... -b bar
$ repo sync -d
$ repo start bar-topic proj1 proj3
$ repo upload -t
$ cd proj1
$ git checkout foo-mytopiC# IS THIS ALLOWED?
Ho provato questo prima, e sembra funzionare, ma è un po 'strano, perché ora ho controllato il codice che era in foo manifest, ma il mio attuale ramo manifest è bar. Quali sono le implicazioni dell'essere su un ramo diverso da quello descritto nel manifest?
Nota: ho letto this e penso che la mia domanda sia diversa. So come cambiare ramo. Mi interessano le implicazioni di essere su un ramo diverso da quello descritto nel manifest corrente e su come questo potrebbe influenzare il mio flusso di lavoro.
Suppongo che la mia domanda alla fine si riduce a questo: quali sono le implicazioni di essere su un ramo diverso (upstream) in un repository git specifico rispetto al ramo specificato per quel repository git nel file manifest repository? – mkasberg