2010-04-01 3 views
205

Ho scaricato TortoiseHg 1.0 per la valutazione. Per la vita di me non riesco a capire come fare un ramo. Sembra capire le filiali (ad esempio nel suo browser di repository) ma non riesco a trovare il modo di creare un ramo. Questo sembra una capacità così fondamentale, poiché i vantaggi spesso spinti dal DVC sono le ramificazioni leggere.Come diramazione con TortoiseHG

I Ho cercato su Google e non ho potuto trovare molte discussioni su questo argomento (almeno per le versioni recenti), quindi devo presumere che mi manchi qualcosa, giusto?

Aggiornamento: Così ho indicato la risposta di Chad Birch qui sotto per rispondere alla "nuova filiale". Come indica correttamente, fai un commit e poi fai clic sul pulsante branch per aprire la finestra di dialogo di manutenzione del ramo, che è dove crei nuovi rami. Mi piacerebbe che ci avessero dato un'opzione di menu contestuale per questo. Una volta che hai ramificato, la prossima domanda naturale è come unire e questo non è ovvio. Si scopre che l'opzione è sepolta nel repository explorer. È necessario selezionare la testa di un altro ramo, fare clic con il tasto destro e selezionare "Unisci con ...".

+1

Grazie per aver chiesto questo ho tirato fuori i capelli disponibili limitati su questo! –

+0

Branching è seriamente sepolto in un aspetto completamente non intuitivo del flusso di lavoro. La ramificazione e il commit sono due operazioni molto distinte e non ha senso seppellire la ramificazione in profondità all'interno dell'interfaccia utente di commit. Dato che in genere eseguo il commit di ** before ** branching, non mi è venuto in mente di guardare sotto l'interfaccia utente di commit. La branche è [ancora efficacemente priva di documenti anche a metà 2016] (http://tortoisehg.readthedocs.io/en/latest/commit.html?highlight=branch); Chad Birch indica cosa passa per la documentazione di ramificazione; è ancora terribile, ma come nota, è solo il messaggero ... – arclight

risposta

200

As shown in the docs, tutto cio che dovrete fare è sufficiente fare clic sul ramo : difetto pulsante vicino alla parte superiore della finestra di impegnarsi, e passare a un nuovo nome del ramo.

+29

Ah, vedo dove dice "premendo questo pulsante si apre una finestra di dialogo per la manutenzione di un ramo". In effetti, questo apre una finestra di dialogo che, a quanto risulta, consente di creare filiali, ma sono contraria all'affermazione "Come mostrato nei documenti" poiché non vi è alcuna menzione esplicita su come creare un ramo ovunque su quella pagina che Potrei trovare Mi chiedo quale ramificazione abbia meritato un trattamento di seconda classe in TortoiseHg (rispetto agli altri strumenti di Tortoise * in cui è un'opzione del menu contestuale di prima classe).:-) –

+29

Oh, non stavo cercando di insultare in un modo "RTFM" o qualcosa del genere, ho solo bisogno di una sorta di frase per il collegamento alla pagina pertinente con. Forse "come vagamente sottinteso nei documenti" sarebbe stato più appropriato in questa situazione. –

+1

Non c'è sudore. Neanch'io stavo cercando di insultare. Volevo solo chiarire a chiunque fosse venuto a vedere quel link che devi leggere tra le righe nei documenti per ottenere la risposta poiché non è esplicitamente menzionato. –

8

La maggior parte del tempo in mercuriale, si clone il repository per fare un ramo.

È quindi possibile unire i repository separati dopo aver apportato le modifiche e il commit.

Potrebbe sembrare che occuperebbe molto spazio su disco ma sulla maggior parte dei sistemi operativi, Mercurial creerà collegamenti fisici anziché copiare i file. In ogni caso, lo spazio su disco è normalmente economico, e poiché è locale è piuttosto veloce.

Se ci pensate, ogni "cassa" (in terminologia svn) o "clone" (in terminologia mercuriale) è in realtà un ramo che verrà probabilmente ricomposto in modo che abbia senso che i cloni siano la via comune di fare rami.

+10

Non è conveniente per i rami di funzionalità. – Tower

+0

concordato. Se si hanno rami di lunga durata (semi-permanenti), come un ramo versione-1-stabile e un ramo versione-2-stabile, si vorrà utilizzare [rami denominati] (http: //mercurial.selenic. com/wiki/NamedBranches). Vedi anche la [documentazione del ramo mercuriale] (http://mercurial.selenic.com/wiki/Branch). – blokeley

+9

-1. Questo è nel migliore dei casi un hack. La clonazione per la ramificazione non funziona affatto se stai seguendo un repository remoto, dal momento che non puoi inviare le modifiche locali. Ciò significa che non puoi condividere il tuo ramo con altri sviluppatori con cui lavori. Il modo corretto di diramazione è creare un ramo con nome all'interno del tuo repository. –

23

Per iniziare nuova filiale con TortoiseHg stampa Commit ... poi, soprattutto Commit messaggio stampa Branch, poi "Apri nuova branca denominata:"

9

Volevo solo aggiungere che, al fine di spingere il nuovo ramo di repository remoto lì è una casella di controllo nella scheda Sincronizza in Opzioni di "Consenti push di un nuovo ramo" - devi ricordarti di spegnerlo subito dopo.