Utilizzo Git da circa un anno e penso sia fantastico, ma ho appena iniziato una seconda versione del progetto e ne ho avviato una nuova. Sto lottando un po 'con il modo migliore per gestire le cose andando avanti.git: salta specifici commit durante l'unione
Ho due rami chiamati say master10 (per v1) e master20 (per v2). Ho fatto correzioni di bug in v1 su branch master10 e ho sviluppato nuove cose su master20. Ogni volta che faccio una correzione di bug, unisco in v2 controllando master20 e facendo git merge master10
. Fin qui tutto bene.
Ora, tuttavia, ho apportato una modifica in v1 che non desidero nella v2, ma voglio continuare a unire altre correzioni di bug. Come faccio a dire a Git di saltare quel particolare commit (o un intervallo di commit), ma che andando avanti vorrei ancora unire altre correzioni di bug.
Ho pensato che git rebase
potrebbe essere quello che mi serve, ma ho letto il documento e la mia testa è quasi esplosa.
Penso che quello che voglio sia qualcosa come un comando "git sync" che dice a git che due rami sono ora in-sync e in futuro si fondono solo i commit da questo punto di sincronizzazione.
Qualsiasi aiuto apprezzato.
Mi chiedo tuttavia se questo non sia un po 'pericoloso: che cosa è l'albero ~ 3 non deve essere ignorato ma semplicemente rimandato? Con la tua soluzione, ogni successivo git si fonde maint non si unirà di nuovo albero ~ 3. – VonC
Per il commit posticipato, vorrei creare un "ramo secondario", fare esattamente ciò che descrivi (incluso git merge -s ours maint ~ 3), quindi unire tutto dal ramo secondario al master. Credo che un futuro "git merge maint" stavolta si unirà "mast ~ 3" – VonC
Penso che se hai bisogno di posticipare l'unione di quel commit, hai poca scelta ma saltarlo (unire -s nostro) e poi applicarlo usando il comando cherry-pick. Una volta che il commit è raggiungibile dal master, non può essere nuovamente unito, evitando di unire la stessa modifica due volte è uno dei principali obiettivi git. – araqnid