2015-09-15 46 views
23

Non ho visto nessuna opzione per farlo nella finestra di pull. Cosa dovrei fare?Come posso estrarre tutti i rami in SourceTree?

+0

Quando si recupera il repository locale dovrebbe tutti i record di commit. Cosa vuoi esattamente fare? – orb

+1

@orb Voglio cancellare il numero sul lato destro delle filiali locali. Sono un paziente OCD. :(Cercando di sistemare git –

+1

Si può effettivamente fare in modo che sourcetree smetta di tracciare il ramo remoto, in questo modo i numeri spariranno.Fare clic con il tasto destro sui rami locali per farlo – orb

risposta

21

Quando il repository è clonato, verranno visualizzati tutti i rami remoti sotto "Remoti" nella barra laterale.

Se qualsiasi contenuto non è presente, è possibile fare clic Fetch per andare a prendere tutti gli oggetti necessari per completare la storia per tutti i rami e tag nel repository remoto.

Se è possibile vederlo in SourceTree, è memorizzato sul computer. Se si desidera controllare uno dei rami, fare doppio clic su di esso. È possibile passare a uno qualsiasi dei rami ogni volta che si desidera senza una connessione Internet.

Non c'è modo di - e non è necessario - "tirare tutti i rami".

+3

Ha detto che voleva rimuovere tutti i rami per rimuovere i numeri di notifica accanto a ciascun ramo. – BillyTom

+10

"Non c'è bisogno di tirare tutti i rami ". Questa non è una vera affermazione e presuppone che tu possa anticipare tutti i bisogni. Voglio tirare tutti i rami in modo che possa andare offline e passare tra le teste di tutti i rami a mio piacimento mentre sono offline (sull'aereo per esempio). – GreenAsJade

+1

@GreenAsJade Non * è possibile * esplicitamente "tirare tutti i rami". 'git pull' esegue solo' git fetch' e quindi 'git merge'. E 'git fetch' recupera tutti gli oggetti necessari per completare la cronologia di tutti i rami e tag nel repository remoto. Quello che stai dicendo che vuoi succede di default. –

2

Leggermente off-topic ma per la riga di comando git è possibile utilizzare git-up che eseguirà "git checkout" e quindi "git pull" per tutte le filiali locali.

5

Mi piacerebbe espandere le altre risposte.

Con git, prima devi controllare i rami remoti che ti interessano, in modo che siano locali. Quindi in SourceTree fai clic con il tasto destro su ciascun ramo remoto e fai clic su checkout.

Una volta che le filiali in cui sei interessato sono locali, ora puoi utilizzare git-up.

Come installare git-up quindi è facile da usare in SourceTree

per me su OSX 10.11.1 (El Capitan) era così semplice come sudo gem install git-up in Terminal, ma YMMV. (Assicurati che l'eseguibile di git-up che installa sia nel tuo percorso.Per me è stato installato su /usr/local/bin che era già nel mio percorso.Google se hai bisogno di aiuto. Here è un link Stack Overflow che potrebbe essere d'aiuto.)

Ora creare un'azione personalizzata in SourceTree. Vai alle preferenze SourceTree -> Azioni personalizzate e fai clic su aggiungi. Compilare come segue:

  • Didascalia Menu: git-up
  • Script da eseguire: git-up
  • Visualizza Valori completa: selezionata (la mia preferenza personale, non controllato è anche ok)
  • Parametri: lasciare vuoto
  • Fai clic su "fai clic per registrare la scorciatoia" e assegna una scorciatoia da tastiera. (Io uso CMD + U.)

Ora ogni volta che ci si trova in SourceTree Usa la tua scorciatoia di tastiera per tirare/rebase tutti i rami estratto. Questo ti impedisce di passare a ciascun ramo per tirare/rebase ogni ramo.

Nota: se non si desidera eseguire il rebase, è possibile modificare esattamente ciò che fa git-up. Vedi git-up's github page.

0

Connect SourceTree al master (clone)

Poi con navigare shell di proiettare cartella ed eseguire tale:

git branch -r (mostrerà tutti i rami remoti)

git checkout --track origin/[branch name]

ripetizione pagamento per tutte le filiali - SourceTree le otterrà quasi immediatamente