2011-09-07 20 views
17

Questo mi sta facendo impazzire.Come scaricare/clonare un nuovo ramo dal mio repository git del server in un repository git locale già creato nel mio PC con Eclipse EGit

Ho creato un repository git in un server Linux ospitato dalla mia società di hosting.

L'ho clonato in una copia locale utilizzando Eclipse EGit.

Ho quindi creato un ramo nel repository git originale nel server.

Come si copia il ramo nella mia copia locale utilizzando Eclipse EGit?

Quando apro Git repository all'interno EGit vedo:

- Local 
-- master 

- Remote Tracking 
-- origin/development 
-- origin/master 

Come posso ottenere l'origine/sviluppo nel mio locale utilizzando EGit?

So che potrei creare un nuovo clone, ma non voglio farlo perché credo che ci debba essere un modo per ottenere solo il nuovo ramo.

Seconda domanda - dove si trova il comando pull in EGit? Sono stato in grado di trovare il comando fetch, ma quando lo eseguo dice che non c'è niente da recuperare. Il RefSpec è:

+refs/heads/*:refs/remotes/origin/* 

Terza questione - c'è un modo per elaborare i comandi git da una riga di comando all'interno di Eclipse nel mio sistema di Windows? Ho pensato di provare a fare un pull da una riga di comando, ma non riesco a trovarlo nel mio sistema locale.

Grazie.

risposta

17

Il recupero è aggiornato perché è già stato copiato tutto nel repository locale. Un pull si unirà a origin/development in master, che non è quello che vuoi. Si desidera creare un nuovo ramo con origin/development come punto di partenza. Io non so come si fa con egit, ma sulla linea di comando, dovete fare:

git checkout -b development origin/development 
+0

grazie per la risposta. Alla fine ho scoperto che non posso inviare istruzioni da riga di comando di EGit (almeno credo di non poterlo fare). Ho scaricato Git per Windows e dovrei essere in grado di eseguire il comando che hai suggerito. Riporterò il successo o il fallimento. – jdias

+1

Funziona. Ho deciso di smettere di usare i menu di Egit per emettere comandi git. Ora sto usando esclusivamente la riga di comando. In questo modo non devo indovinare come Egit sta per eseguire un'azione quando premo un pulsante di menu. Semplicemente digito quello che voglio nella riga di comando e so come reagirà. Sto marcando questa domanda come risposta. Grazie Karl. – jdias

17

Ho anche cercato in giro per alcune ore per scoprire come ottenere una filiale remota in Eclipse EGit. ..

La soluzione è indicata in this Bugreport. Ed è davvero facile se sai come farlo - non c'è bisogno di usare la versione da riga di comando di git, che - anche se funziona nel 99% di tutti i casi - può essere rischiosa perché ho già avuto problemi che interferiva con Eclipse e EGit.

Basta seguire questi passaggi:

  1. prima assicurarsi di aver aperto l'EGit Repository view. Se non lo hai già aperto, vai su "Finestra → Mostra vista → Altro ..." e da lì seleziona "Git → Repository Git".
  2. Nel Repository view scegliere "Rami → Tracciamento remoto". Dovresti vedere i tuoi rami remoti già lì (esempio: origin/new_feature).
  3. Fare clic con il pulsante destro del mouse sul ramo remoto che si desidera avere con le filiali locali. Scegli "Crea ramo ..."
  4. I valori predefiniti devono essere OK.Normalmente non dovresti cambiare nulla qui. Si prega di notare che si dovrebbe non cambiare la "strategia di trazione" in qualcosa di diverso da "Unisci" se non si sa cosa si sta facendo. In caso contrario, le modifiche a monte potrebbero causare una perdita di dati.
  5. Fare clic su OK "Fine" e si è fatto :)
+0

È piuttosto brutto che il plug-in non prelevi e imposti l'attesa (ad esempio "nuova_funzionalità" ma imposta un nome alfanumerico casuale [in effetti]) facendoti pensare che questa opzione non sia ciò che desideri. :-( –

3

mi hanno dovuto affrontare lo stesso problema, ed ecco come ho risolto:

  1. Aprire Git Prospettiva

  2. Prima di tutto è necessario disporre del ramo che si desidera verificare, nel proprio repository con Tracciamento remoto. Il mio problema era che non riuscivo a vedere il ramo a distanza qui, quindi al fine di risolvere questo - eseguire un Tirare sul repository, e questo comando dovrebbe ottenere tutti i rami sotto monitoraggio remoto

  3. tasto destro del mouse il ramo (remoto), il check out, il check out come nuovo ramo locale
Problemi correlati