2014-07-01 2 views
14

Ho appena eseguito l'aggiornamento a Visual Studio 2013 e desidero utilizzare le funzionalità git integrate.Come connettere un repository git locale esistente al repository remoto esistente in Visual Studio 2013?

Ho un repository git locale - con vari rami e cronologia - che ho lavorato allegramente con un repository git TFS remoto insieme ad altri colleghi.

In VS2013, posso vedere quel repository locale e cambiare ramo, commit, push, ecc. Ma quando mi collego al progetto del team, non ha filiali e nessuna connessione al repository locale.

Posso clonare il telecomando in una nuova cartella locale, ma non sono sicuro di come collegare la cartella esistente ad esso.

Tutto funziona con l'app GitHub per Windows, ma gli strumenti VS2013 non sembrano gradire.

Qualche idea?

+0

Sto cercando lo stesso, tranne che voglio farlo per un progetto web non VS (per semplici cartelle di progetto web vecchio). Qualcuno sa se è possibile? – j4v1

risposta

0

Probabilmente è sufficiente aggiungere il telecomando al repository esistente e inviare il contenuto del repository locale a TFS.

aprire la riga di comando Git e digitare `git remote add". Dovreste essere in grado di spingere le modifiche in TFS.

Un'altra opzione, all'interno di VS, sarebbe quello di clonare il repo TFS in una cartella su la tua casella, quindi apri la riga di comando di Git e digita git pull <local path of your existing repo>.Questo dovrebbe richiamare tutto dal vecchio repository, e puoi spingerlo in TFS.

9

So che questa è una vecchia domanda, ma è venuta fuori Ricerca Google ...

Se il codice sorgente non è già in TFS, è necessario clonare il progetto TFS vuoto (utilizzare Visua l Studio), quindi inserire il codice dall'altro repository e inserirlo in TFS (la risposta di Daniel).

Se il codice sorgente è già in TFS, ma Visual Studio non è l'associazione tra il repo git locale esistente con il progetto TFS ...

In Visual Studio, la connessione a TFS (cioè nella finestra Team Explorer , connettiti al progetto TFS. Dovresti essere in grado di visualizzare gli elementi di lavoro, ecc., ma dirai che devi clonare il progetto localmente. Ora vai al menu File -> Apri -> Progetto/Soluzione, e trova e apri il file di soluzione nel tuo repository git locale.Se tutto va bene, Visual Studio ti manterrà ancora connesso al tuo progetto TFS e la tua soluzione sarà aperta, e dovrebbe ricordarlo in futuro (quindi non dovrebbe più ti dico che devi clonarlo)

Se, invece, Visual Studio si disconnetteva dal progetto TFS quando si apriva la soluzione (e se si dovesse riconnettersi a TFS, si chiude la soluzione), significa che non pensa di essere lo stesso progetto di team . Molto probabilmente, questo è dovuto al fatto che l'URL del server non è uguale al 100%. Due modi semplici potrebbero essere perché potresti utilizzare nomi host diversi oppure "http:" vs "https:".

Doppio controllo eseguendo un git remote -v show nel repository locale e confrontando l'URL con quello utilizzato in VS quando si è connessi a TFS. Oltre al nome di dominio, assicurati che entrambi utilizzino "http" o entrambi siano "https" (ho appena avuto questo problema e ho realizzato che ho usato "https" all'interno di Visual Studio, ma "http" quando avevo precedentemente clonato il repository in git). Se sono diversi, quindi aggiustalo.

Per aggiornare l'URL nella repo git locale:

git remote set-url REMOTE_NAME REMOTE_URL 

(sostituire il nome del telecomando per REMOTE_NAME e l'URL per REMOTE_URL)

(o si poteva barare e aperto .git\config file in un editor di testo e modificare gli URL direttamente)

Riapri la soluzione in Visual Studio e verifica se ti ha tenuto connesso a TFS. Una volta che Visual Studio vede che sono lo stesso URL del server, dovrebbe ricordarlo, quindi quando ci si connette al progetto TFS usando Team Explorer, non si dovrebbe dire che è necessario clonarlo prima e i collegamenti al file della soluzione devono apparire (anche se in VS 2015, spesso devo fare clic sul pulsante di aggiornamento nella parte superiore di Team Explorer quando passo da un progetto all'altro prima che i collegamenti della soluzione cambino).

+1

Mi piacerebbe dire che questo ha fatto il trucco per me ma non funziona. Sto usando VS2013, il mio 'git remote -v show' mostra gli stessi URL ma l'apertura della soluzione mi disconnette sempre da TFS. :( – theyetiman

+0

La modifica di .git/config ha fatto il trucco per me.Grazie – CPlusSharp

+0

Ha funzionato anche per me su VS2017 RC :) grazie! – tsemer

1

Ho avuto lo stesso problema con VS2015 e TFS2015 e i miei URL erano identici. Ho risolto il problema rimuovendo il riferimento al progetto nell'elenco dei repository Git locali. Facendo ciò, la prossima volta che apro la soluzione, VS2015 ha "connesso" automaticamente il repository locale con TFS2015 Team Project invece di disconnettermi da esso e riportarmi al repository locale.

Spera che possa aiutare qualcun altro.