2009-09-15 15 views
31

Sto considerando la migrazione da Subversion a Git al lavoro e vorrei avere opinioni sul modo migliore di configurare Git su Windows e su eventuali problemi che potrebbero sorgere dalla combinazione di Visual Studio e Git.Best practice che utilizzano Git con Visual Studio?

L'installazione corrente è TortoiseSVN, con Visual Studio 2008 e AnkhSVN per applicazioni .NET. La sostituzione sarebbe probabilmente Git Extensions.

I consigli sui layout dei depositi sarebbero particolarmente apprezzati. Tutte le nostre soluzioni utilizzano più progetti e ora abbiamo un numero di assembly personalizzati che dovremo condividere tra le applicazioni. Il layout attuale dei nostri repository Subversion non è sicuramente ottimale.

AGGIORNAMENTO: ora ho eseguito la migrazione a Git utilizzando Git Extensions e funziona molto bene. Il codice e le risorse condivisi vivono in repository separati e vengono utilizzati come sottomoduli. Ho trovato i sottomoduli leggermente confusi quando ho iniziato, e this post è stato molto utile.

risposta

6

Abbiamo una soluzione contenente 9 progetti & stiamo usando le estensioni git (che provengono dallo stack svn).

Tre progetti sono condivisi con altre soluzioni e abbiamo utilizzato i moduli secondari per farvi riferimento.

Questo funziona quasi ma l'interfaccia è molto confusa. Andando avanti stiamo pensando di rimuovere i sottomoduli e fare semplicemente riferimento alle DLL invece.

0

sto usando msysgit, è abbastanza bello =)

per le estensioni Git, non mi piace molto, dato che sono più a suo agio con i comandi a riga di comando ... Ma la "Cronologia file" la funzionalità di Git Extensions è fantastica

10

Il programma di installazione principale di Git per Windows è msysgit (SO question).
TortoiseGit è anche una bella integrazione di Windows (in cima a msysgit).

Devi essere a conoscenza di Git limits, in particolare in termini di repository Git (non cercare di roba ogni progetti in un unico repository, a meno che non si sta costruendo un "sistema", cioè qualcosa che può essere eseguito solo con tutta sua parti/componenti.)

Le dipendenze del codice esterno sono rappresentate al meglio with submodules.
Stessa cosa per vendor branches.


Si noti inoltre che, in aggiunta di GitExtension, è ora possibile definire i progetti Git in TFS (Q1 2013):
Vedere "How can I push my existing Git repository to Team Foundation Service": a partire VS2012.2, yo hanno comandi git direttamente dal vostro IDE.