Git in Visual Studio: aggiungi un progetto esistente?


105

Sto cercando di mettere un progetto esistente sotto il controllo del codice sorgente Git, ma non sono chiaro su diverse cose.

Ho configurato un account Git "Team Foundation Service" online.

Al momento ho una soluzione ASP.NET MVC 4 - nella mia cartella Progetti. Ho creato un "repository" Git localmente (una cartella vuota al momento). Questa dovrebbe essere solo la mia cartella dell'applicazione corrente in Progetti? O deve essere una copia?

Come faccio a caricare i miei file esistenti nel repository in linea?


Hai menzionato "Git in Visual Studio": stai utilizzando gli strumenti git in Visual Studio 2012?
Edward Thomson

Credo che questo sia stato ora incorporato nella versione 2015 in Team Explorer. Mi sono imbattuto in questo, dove non ho potuto "pubblicare" (vs il push iniziale dopo init), quindi aggiungerò una risposta con le istruzioni sull'aggiunta dell'URI
mschr

Risposte:


148

Ho cercato una domanda simile: il modo in cui sono riuscito a inizializzare un repository Git per un file di progetto esistente è questo (dichiarazione di non responsabilità: questo viene fatto in Visual Studio 2013 Express, senza una configurazione di Team Foundation Server):

  1. Apri il progetto in Visual Studio.
  2. Vai al menu FileAggiungi al controllo del codice sorgente .

Questo ha funzionato per me: supponendo che Git sia configurato per te, puoi andare al menu VisualizzaTeam Explorer , quindi fare doppio clic sul repository per il tuo file di progetto ed eseguire il commit iniziale (assicurandoti di aggiungere tutti i file che desideri ).


7
Questo ti farà anche risparmiare la seccatura di "fornire un file .gitignore ragionevole", poiché Visual Studio si prenderà cura di questo dettaglio per te. Tra un git init manuale e questo, questo è il mio metodo preferito d'ora in poi.
MrCC

Se desideri scegliere il progetto in cui è inserita questa nuova soluzione, puoi fare clic sul pulsante Sincronizza, quindi fai clic su Pubblica nel repository git, quindi fai clic su soluzione avanzata e scegli il progetto a cui desideri aggiungere questa nuova soluzione .. una volta che hai fatto ciò, puoi quindi sincronizzare e boom
Jamisco

Nota: questo non ha funzionato per me perché avevo già aggiunto una libreria condivisa che era inclusa in un altro repository. Ho dovuto rimuovere il progetto condiviso prima che l'opzione "Aggiungi al controllo del codice sorgente" diventasse disponibile.
Neil B

2
Dovrebbero aggiungerlo alla finestra di Team Explorer.
thReality

66
  1. Prima di tutto devi installare il software Git sulla tua macchina di sviluppo locale, ad esempio Git Extensions .
  2. Quindi fai git initnella cartella della soluzione. Questo è il modo corretto per creare una cartella del repository.
  3. Imposta un .gitignorefile ragionevole , in modo da non impegnare cose non necessarie.
  4. git add
  5. git commit
  6. Aggiungi il telecomando appropriato, come descritto nel tuo account Team Foundation Server git remote add origin <proper URL>
  7. git push il tuo codice

In alternativa, ci sono guide dettagliate qui usando l'integrazione di Visual Studio.


Ha funzionato benissimo, grazie Klas! Una nota: devi avere il tuo URL tra virgolette perché funzioni.
Jack Fairfield

NB: Nuovo URL per le estensioni Git: visualstudiogallery.msdn.microsoft.com/…
JohnLBevan

@JohnLBevan quell'estensione sembra indicare una vecchia versione
Klas Mellbourn

i collegamenti sono interrotti

@PaulScharnofske grazie per avermelo detto. Li ho risolti ora
Klas Mellbourn

15

Dopo aver lavorato a lungo su Visual Studio, ho finalmente capito la risposta che ha richiesto molto più tempo di quanto avrebbe dovuto.

Per prendere un progetto esistente senza il controllo del codice sorgente e metterlo in un repository GitHub EMPTY esistente (questo è importante), il processo è semplice, ma complicato, perché la tua prima inclinazione è usare Team Explorer, il che è sbagliato ed è per questo stai avendo problemi.

Innanzitutto, aggiungilo al controllo del codice sorgente. Ci sono alcune spiegazioni di questo sopra, e tutti arrivano fin qui.

Ora, questo apre un repository LOCALE vuoto e il trucco di cui nessuno ti dice mai è quello di ignorare completamente Team Explorer e andare a Esplora soluzioni, fare clic con il tasto destro sulla soluzione e fare clic su Commit.

Questo quindi salva tutte le differenze tra la tua soluzione esistente e il repository locale, essenzialmente aggiornandolo con tutti questi nuovi file. Dagli un nome di commit predefinito 'file iniziali' o qualsiasi cosa faccia galleggiare la tua barca e commetti.

Quindi fai semplicemente clic su Sincronizza nella schermata successiva e rilascia l'URL del repository GitHub VUOTO. Assicurati che sia vuoto o avrai conflitti con il ramo principale e non te lo consente. Quindi usa un nuovo repository o elimina quello vecchio che avevi precedentemente incasinato. Tieni presente che questo è Visual Studio 2013, quindi il tuo chilometraggio può variare.


14

Basta fare clic con il pulsante destro del mouse sulla soluzione e selezionare Aggiungi al controllo del codice sorgente . Quindi seleziona Git.

Ora i tuoi progetti sono stati aggiunti a un controllo del codice sorgente locale. Fare clic con il tasto destro su uno dei file e selezionare Commit .

Quindi inserisci un messaggio di commit e seleziona Commit . Quindi seleziona Sincronizza per sincronizzare il tuo progetto con GitHub. Richiede un repository Git. Vai su GitHub, crea un nuovo repository, copia il link del repository e aggiungilo al tuo server di controllo del codice sorgente remoto. Seleziona Pubblica .

È tutto.


Questa risposta è corretta e funziona in VS 2015. Tuttavia ho avuto una domanda importante con questo essendo un nuovo utente git. VS 2015 non sembra creare un file gitignore o offrire alcun modo per ignorare dll / file creati da VS che NON dovrebbero essere archiviati. Come la cartella obj, ad esempio, e sta cercando di eseguire il commit di tutto nei repository locali. Qualcun altro ha questo problema? Non voglio che tutta questa roba venga commessa localmente.
Matt

Modificherò il mio commento sopra man mano che apprendo di più. Quando controllo la directory, in effetti ha creato il file gitignore che è fantastico perché è molto grande e mi dispiacerebbe provare a costruirlo manualmente. Tuttavia, quando ho provato a eseguire il commit iniziale nel repository locale, VS non ha utilizzato questo file gitignore perché tutti i file erano disponibili per il commit in git ed è stato un gran casino. Quindi ho chiuso la soluzione, eliminato la cartella .git e 2 file git nella mia soluzione (che si stacca da git), l'ho riaperta e sono andato su file-> aggiungi al controllo del codice sorgente e ho selezionato nuovamente git. Questa volta ha funzionato alla grande.
Matt

Ora è dicembre 2019 ed è ancora più facile. Dopo aver eseguito i passaggi precedenti e aver premuto Sincronizzazione, mi è stato chiesto con l'account GitHub e se volevo renderlo un repository privato. Una volta selezionato, il nuovo repository è stato creato per me (senza che io dovessi andare su GitHub) e creato con successo.
batpox

5

Utilizzando SourceTree :

Fare clic con il pulsante destro del mouse sul nome della soluzione in Esplora soluzioni. Seleziona "Aggiungi al controllo del codice sorgente" .

Quindi vai su SourceTree e seleziona Clone / New . Seleziona Aggiungi cartella di lavoro e punta alla nuova posizione Git che hai appena creato all'interno della tua soluzione.

Vai e prendi l'indirizzo clone per un Git vuoto, (Bitbucket o GitHub) e torna a SourceTree, fai clic con il pulsante destro del mouse su Telecomandi e aggiungi Nuovo telecomando . (Nota nelle versioni moderne, vai su RepositoryAggiungi remoto .... Incolla il tuo URL in quella casella e premi OK.

In questo modo puoi eseguire il commit iniziale e il push.


5

Il modo più semplice è ovviamente quello descritto nell'articolo MSDN Condividere il codice con Visual Studio 2017 e VSTS Git .

  1. Crea un nuovo repository Git locale per il tuo progetto selezionando Aggiungi al controllo del codice sorgente nella barra di stato nell'angolo inferiore destro di Visual Studio. Questo creerà un nuovo repository nella cartella in cui si trova la soluzione e invierà il codice in quel repository.

    Inserisci qui la descrizione dell'immagine

  2. Nella visualizzazione Push in Team Explorer selezionare il pulsante Pubblica repository Git in Invia a Visual Studio Team Services.

    Inserisci qui la descrizione dell'immagine

  3. Connetti Remote Source Control e inserisci il nome del tuo repository e seleziona Pubblica repository .

    Inserisci qui la descrizione dell'immagine


3

Su Visual Studio 2015 l'unico modo per farlo funzionare è stato quello di eseguire git initdalla radice della mia directory utilizzando la riga di comando. Quindi sono entrato in Team Explorer e ho aggiunto un repository git locale. Quindi ho selezionato quel repository git locale, sono andato su Impostazioni-> Impostazioni repository e ho aggiunto il mio repository remoto. È così che sono stato finalmente in grado di integrare Visual Studio per utilizzare il mio progetto esistente con git.

Ho letto tutte le risposte ma nessuna ha funzionato per me. Sono andato su File-> Aggiungi al controllo del codice sorgente, che doveva fondamentalmente fare lo stesso di git init, ma non sembrava inizializzare il mio progetto perché quando sarei andato a Team Explorer tutte le opzioni erano disattivate. Inoltre, non verrà visualizzato nulla nella finestra di dialogo Modifiche. Un'altra risposta affermava che dovevo solo creare un repository locale in Team Explorer e quindi le mie modifiche sarebbero state visualizzate, ma nemmeno questo ha funzionato. Tutte le opzioni di Git su Team Explorer hanno funzionato solo dopo aver inizializzato il mio progetto tramite la riga di comando.

Sono nuovo in Visual Studio, quindi non so se mi sono perso qualcosa di ovvio, ma sembra che il mio progetto non sia stato inizializzato da Visual Studio.


Dopo aver selezionato "File -> Aggiungi al controllo del codice sorgente", c'è qualcosa nella finestra di output per il riquadro "Controllo del codice sorgente - Git"? Non mi sarei aspettato nulla nella pagina Modifiche, ma se hai visualizzato la cronologia del repository Git, mi aspetto che mostri un commit "Aggiungi file di progetto" in cui i file sono stati salvati nel repository.
jamill

È lo stesso di Source Control Explorer? Se è così, non mostra nulla. Visualizza solo un collegamento per aggiungere un plug-in di controllo del codice sorgente. Quando lo clicco e seleziono Git, non succede nulla. Come per gli altri pannelli all'interno di Team Explorer, non succede nulla. È solo dopo aver inizializzato il progetto dalla riga di comando e aver creato un repository locale dal riquadro Connessioni che inizio a vedere gli strumenti VS Git che interagiscono con il mio progetto.
chavab_1

2

Per prima cosa crea una "Cartella della soluzione" con il percorso relativo desiderato. Si noti che Visual Studio 2012 non crea una cartella di sistema con lo stesso percorso relativo.

Ora all'interno di quella "Cartella della soluzione" aggiungi un nuovo progetto, ma devi fare attenzione quando lo definisci che il percorso relativo nel sistema corrisponda al percorso relativo della tua nuova "Cartella della soluzione". Se la cartella di sistema desiderata non esiste, Visual Studio 2012 la creerà ora per il nuovo progetto. (Come notato sopra, non lo fa quando aggiungi una nuova "Cartella della soluzione".)

Se vuoi aggiungere un file esistente con il percorso relativo corrispondente, devi prima creare il file nel percorso relativo del sistema corrispondente, dall'esterno di Visual Studio. Quindi puoi aggiungere un file esistente in Visual Studio.


1

Se il repository desiderato esiste già (forse su GitHub), puoi clonarlo sul tuo sistema locale e quindi copiare la directory della soluzione al suo interno. Quindi aggiungi i file, salva i file e invia il file local. Questo ha messo la soluzione in un repository.


1

Git in Visual Studio: aggiungi un progetto esistente ; come pubblicare il tuo repository locale in un progetto su GitHub, GitLab o simili.

Quindi, hai creato una soluzione e vuoi caricarla e controllore di versione tramite il tuo account Git da qualche parte. Visual Studio 2015 dispone di strumenti in Team Explorer per questo.

Come menzionato da Meuep, carica la tua soluzione e poi naviga File >> Add to Source Control . Questo è l'equivalente di git init. Quindi avrai questo:

Home page di Team Explorer

Ora, seleziona Settings >> Repository Settings e scorri fino a Telecomandi .

Inserisci qui la descrizione dell'immagine

Configura origin(assicurati di inserire questo nome riservato lì) e imposta gli URI.

Quindi puoi usare Add, Synce Publish.



0

Se vuoi aprire un progetto esistente da GitHub, devi fare quanto segue (questi sono passaggi solo per Visual Studio 2013 !!!! E più recenti, poiché nelle versioni precedenti non ci sono installazioni Git integrate):

  1. Team explorer → Connetti a teamProjects → Local GitRepositories → Clone .

  2. Copia / incolla il tuo indirizzo GitHub dal browser.

  3. Seleziona un percorso locale per questo progetto.


0

Per me un repository Git (non GitHub) è già stato creato, ma vuoto. Questa era la mia soluzione per aggiungere il progetto esistente al repository Git:

  1. Ho clonato e controllato un repository con Git Extensions.
  2. Quindi ho copiato i miei file di progetto esistenti in questo repository.
  3. Aggiunto un .gitignorefile.
  4. Messa in scena e commit di tutti i file.
  5. Inserito nel repository remoto.

Sarebbe interessante vedere tutto questo fatto direttamente in Visual Studio 2015 senza strumenti come Git Extensions, ma le cose che ho provato in Visual Studio non hanno funzionato ( Aggiungi al controllo del codice sorgente non è disponibile per il mio progetto, l'aggiunta di un telecomando no aiuto, ecc.).


0

Per aggiungere un progetto all'interno di una soluzione, basta aprire la finestra Team Explorer e andare su Modifiche. Quindi, in File non tracciati, fare clic su Opzioni di visualizzazione e selezionare Passa alla visualizzazione ad albero (a meno che non sia già nella visualizzazione ad albero), fare clic con il tasto destro sulla cartella principale del progetto e selezionare Aggiungi .

Inserisci qui la descrizione dell'immagine


0

Lo dimentico sempre, quindi è più per me, ma forse potrebbe aiutare qualcun altro a usare VS.

Visual Studio ha il concetto di soluzioni. In git, tuttavia, ha il concetto di un repository git tracciato da rami locali e remoti. Tutti i file e le cartelle che vengono aggiunti a git sono locali.

Tornando ora a Visual Studio Solutions, quando crei un progetto modello standard, vengono creati tutti i progetti localmente in quella soluzione.

Quindi il problema si verifica quando aggiungi un progetto che non è locale alla soluzione o a git per quella materia. Quello che succede è che il file della soluzione .sln viene aggiornato con la posizione del progetto ma i contenuti effettivi del progetto, i file di progetto e le cartelle non possono essere aggiunti a git perché si trovano su una directory separata o su un'unità di rete separata o su un server ftp ecc .... Questo potrebbe essere preferibile se si desidera solo un riferimento a un file di progetto che viene compilato solo nel file .sln o se si desidera estrarli in repository git o github separati. Ma non vuoi che i file effettivi vengano tracciati da git localmente.

Per rimediare a questo (cioè si desidera aggiungerli al proprio repository git) è sufficiente spostare i file remoti di interesse all'interno dell'ambito della soluzione e dei suoi file di progetto in modo che siano locali.


0

Ecco come farlo in Visual Studio 2015.

  1. Apri il progetto e vai su Strumenti >> Opzioni >> scheda "Controllo del codice sorgente" e seleziona "Git" come controllo del codice sorgente. inserisci qui la descrizione dell'immagine

  2. Vai al menu File e seleziona "Aggiungi al controllo del codice sorgente".

Ciò che fa è essenzialmente eseguire "git init" da Visual Studio creando tutti i campanelli e fischietti (il setup ignora i file di conseguenza come ignora i file specifici dell'utente, i file temporanei, la directory ecc.).

Essenzialmente il tuo repository git è stato creato correttamente localmente (questo è il passo principale con il progetto VS poiché questa cartella contiene molti file che vogliamo ignorare).

Ora puoi connettere questo repository git a qualsiasi altro git come GitHub, BitBucket ecc. In git bash (al di fuori di Visual Studio).

Avvio ora la sessione di Git Bash in questa directory di lavoro e poiché utilizzo BitBucket, seguo le istruzioni fornite (copia le righe sottostanti da lì).

git remoto aggiungi origine https: //tuonomeutente@bitbucket.org/tuonomeutente/hookdemo.git

git push -u origin master

Questo è tutto.

Successivamente puoi gestire il repository sulla riga di comando git stessa dalla sua configurazione ora correttamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.