Ho appena iniziato a utilizzare Git e trovo che mentre sto implementando una funzione in un ramo, incontrerò alcuni bug che devono essere spinti sul trunk il prima possibile. Per farlo, utilizzo la cassa per tornare al bagagliaio, apportare le mie modifiche e confermarle. Ora ho un baule privo di bug.Come posso ottenere modifiche dal mio bagagliaio in un ramo?
Sfortunatamente, il mio ramo deve aver corretto anche questo errore. Poiché la funzione non è completa, non posso semplicemente unire il ramo nel bagagliaio. Come posso modificare il ramo in modo che riceva le modifiche apportate al bagagliaio?
Se è importante, sto sviluppando da solo e quindi ho solo un unico repository di cui preoccuparsi.
Sto usando TortoiseGit in modo che le istruzioni specifiche siano utili ma non necessarie.
Questo copierà tutte le modifiche che sono in master e non il ramo al ramo. Riapplicherà anche le modifiche ai rami in modo che vengano dopo le modifiche nel master nella cronologia del repository. –
Sì, non è il comportamento desiderato? Immagino che tu possa fare un cherry-pick, ma che dovrebbe essere evitato se possibile. Dipende se hai qualche commit sul master che non vuoi nell'altro ramo. Comunque, perché dovresti avere commetti in master, comunque? Il maestro dovrebbe generalmente essere stabile. – alternative
Nel caso generale, dovresti effettivamente unire, ma dovresti unire un ramo di bugfix piuttosto che un master direttamente. È possibile creare il ramo di bugfix dall'antenato comune di tutti i rami che ne hanno bisogno, quindi unirlo in tutti (in questo caso, master e funzionalità). Ciò evita di unire inutilmente * altro * contenuto dal master nel tuo branch di funzionalità. – Cascabel