Mi sono imbattuto in una difficoltà sul lavoro (come presentato nello schizzo semplificato di seguito). Durante la creazione di un ramo l'impostazione predefinita per qualche motivo si è bloccata come parent a un ramo, mantenendo comunque un ramo predefinito separatamente (ovvero il ramo predefinito che stiamo utilizzando andando avanti). Questo ci ha lasciato con due rami predefiniti.Bloccato con due diramazioni predefinite in Mercurial dopo il commit di diramazioni interrotte
Qualcuno ha scambiato come eseguire il commit delle modifiche prima della diramazione, quindi abbiamo finito per unire le modifiche apportate in branch1 in un ramo2.
Ho cercato Mercurial: the definitive guide per verificare se si tratta di un problema risolvibile, ma non è stato possibile scoprire quali comandi di back-out o di chiusura sarebbero stati utili. Il modo più semplice sarebbe se fosse in qualche modo possibile rinominare il ramo predefinito rimanente.
Qual è il modo migliore e/o più semplice per risolvere questo problema?
Sto preparando la fusione dei rami di sviluppo nel ramo predefinito corretto e voglio che questo problema si risolva prima di iniziare qualsiasi fusione importante che potrebbe rendere ancora più difficile la correzione in futuro.
Penso che sia stato risolto. Hai esperienza con 'hg rebase' e / o' hg strip'? Quello che sarebbe bello è avere branch1 e branch2 come un ramo. branch2 è fondamentalmente le modifiche apportate in branch1 ma senza l'inclusione del ramo predefinito. – Patrick
Vedo ora, dopo aver letto la documentazione su rebase e strip, che quelli in genere vengono utilizzati solo su commit non inviati o condivisi con il repository. – Patrick
@Patrick: hai ragione su rebase e strip: se hai già spostato i changeset da qualche altra parte, allora entrambi i comandi saranno inefficienti. Non si romperà nulla, ma scoprirai di avere i changeset originali quando toglierai il server. Questo nega l'effetto del comando (per 'hg strip') o sembra disordinato (per' hg rebase'). –