2014-09-09 26 views
34

SourceTree 1.6.4.0 su Windows 7.Come eseguire correttamente il rebase in SourceTree?

Diciamo che il seguente è il mio punto di partenza:

enter image description here

C <- master 
/
- A - B <- topic 

voglio rebase argomento sul maestro.
Il mio obiettivo è quello di avere:

C - A - B 
^ ^
master topic 

ma io alla fine con:

enter image description here

posso poi fare

git push origin topic -f 

e ottengo il risultato previsto, ma ciò che è il modo corretto di farlo in SourceTree?

risposta

27

Aggiornamento: SourceTree 1.9.1

È possibile attivare forza di spinta in Strumenti/Opzioni/Git/Abilita forza di spinta. Dopo averlo abilitato, puoi selezionare la casella di controllo "Forza push" nella finestra di dialogo "Push".

risposta originale

Devi fare una spinta forza, perché argomento ramo è già pubblicato e si sta riscrivendo la storia. I commit A e B dall'origine/argomento vengono rimossi se si rebase.

È consigliabile eseguire un'unione se non si desidera eseguire un push forzato, specialmente se si dispone già di membri del team che lavorano su un argomento.

Non è ancora possibile eseguire un push forzato con SourceTree per Windows (vedere answers at atlassian forums). Puoi votare per questa caratteristica qui: https://jira.atlassian.com/browse/SRCTREEWIN-338

+1

Sono l'unico a lavorare su questo progetto, utilizzando il ben descritto flusso di lavoro rebase-then-merge. Esiste un'opzione in SourceTree per abilitare il push forzato tramite GUI? Genere di sconfiggere lo scopo del programma se devo ancora usare la riga di comando. – Patrick

+2

@ user3858446 Sfortunatamente non esiste questa opzione in SourceTree. Vedi [risposte su atlassian.com] (https://answers.atlassian.com/questions/54469/how-do-i-forma-a-force-push-push-f-da-sourcetree). Puoi votare per questa funzione qui: https://jira.atlassian.com/browse/SRCTREEWIN-338 – filhit

+3

Anche se non ha l'opzione, puoi creare un'azione personalizzata che chiama un file batch. Questo è quello che ho creato e si sente abbastanza integrato. È possibile fare clic con il tasto destro del mouse sull'elenco di commit e selezionarlo dal sottomenu Azioni personalizzate. – Dan

7

UPDATE: SourceTree versione 2.6.3 (134) (per Mac)

Vai a SourceTree/Preferences/Advanced e fare clic sulla casella 'Consenti forza di spinta' nella parte superiore della ' Avanzato 'dialogo.

Ciò consente di fare clic su Spinta spinta nella finestra di dialogo di spinta mentre si preme un impegno.

Le versioni precedenti si trovavano a SourceTree/Preferences/General verso la parte inferiore della finestra di dialogo "Generale".

+0

presumibilmente si sta riferendo a mac? –

+0

sì! scusa per la mancanza di specificità. – jacoballenwood