Utilizzo di Git in ambiente Enterprise [chiuso]


24

Git è un eccellente sistema di controllo della versione. Se escludiamo il fatto che non ha un eccellente supporto della GUI, è davvero buono e veloce. Ma i controlli del codice sorgente come Clearcase offrono un ampio supporto per i clienti aziendali. Le aziende stanno investendo ingenti somme per server di controllo del codice sorgente e Licesense.

Di recente la maggior parte delle grandi aziende come Google stanno adottando Git rispetto ad altri sistemi di controllo delle versioni. Ma questa azienda ha un forte gruppo open source che fornisce costantemente sviluppo e supporto per lo strumento (potrebbero persino avere una versione personalizzata di Git). Allo stesso tempo, le grandi aziende non si preoccupano davvero di adottare progetti open source e renderli rilevanti per loro.

  • Git è davvero uno strumento affidabile per l'ambiente aziendale, in particolare su piattaforma Windows?
  • Il supporto è in questione per Git in quanto è un prodotto open source.
  • C'è qualche azienda che fornisce soluzioni e supporto? Come sono i costi del server rispetto ad altri controlli di versione come Clear-case?

2
Non sono a conoscenza del fatto che Google abbia adottato git, la mia comprensione è che hanno optato per Mercurial. E dovrai convincermi anche di altre grandi aziende - hai qualche esempio?
Benjol,

4
Ha un ottimo supporto GUI. Basta scegliere un buon sistema operativo.

2
@Benjol - Questo thread potrebbe fornirti alcuni spunti. quora.com/…
sarat

1
@sarat, so che Twitter vale molti soldi, ma non lo classificherei come grande o impresa. // Non ero a conoscenza del fatto che code.google.comsupportasse git, si tratta di notizie molto nuove , e non sono sicuro che potresti chiamarlo adottando git su altri controlli di versione. [Originariamente] ( code.google.com/p/support/wiki/DVCSAnalysis) , decisero chiaramente per Mercurial oltre git
Benjol il

@Benjol In generale non posso dirlo ma il repository guava pubblico è appena passato a git .
maaartinus,

Risposte:


37

GitHub NON è un controllo versione - "ospita" il sistema di controllo versione chiamato "Git". A parte il gioco di parole, questa è una differenza molto importante: conoscilo bene.

Per quanto riguarda l'uso aziendale, posso dirti che git è intelligente (e conveniente e migliore) come qualcosa come SVN. Inoltre, puoi scegliere una strategia di controllo della versione (flusso di lavoro) adatta in base alle dimensioni e alla portata del progetto (e del tuo team). I sistemi non distribuiti non possono offrirti questa flessibilità.

inserisci qui la descrizione dell'immagine

Per Windows, controlla Msysgit o Visual Studio Extensions per Git - git funziona molto bene su Windows. Inoltre, gli utenti di Windows guardano questa serie di training di TekPub: sono tutti Windows.

AGGIORNAMENTO [febbraio 2013] per iniziare con git in Visual Studio

La tua domanda non è rara e potresti cercarla su google e ricevere un sacco di testo che ti spiega perché e come (e se) usare git nell'azienda.

Non ti piace ancora Git? Guarda un altro DVCS chiamato Mercurial .


12
Msysgit non è un vero cittadino di Windows. Funziona benissimo, ma non è al 100% nativo.
Yann Ramin,

+1 per indicare alcuni aspetti importanti su Git. Sebbene @greengit abbia indicato possibili opzioni per l'utilizzo di Git in Windows, è lungi dall'essere integrato come, ad esempio, SVN.
tehnyit,

Usiamo Eclipse che ha ottenuto un buon supporto git.

1
Penso che la gitolite (o simile) meriti una menzione qui. Molte persone di sicurezza come il locale, chiuso e in controllo dell'opzione di hosting locale del repository.
Nic

2
@YannRamin: Msysgit è sicuramente un vero cittadino di Windows ed è nativo al 100%. Viene fornito con una shell unix che utilizza convenzioni leggermente diverse, ma questa è la shell, non git. È possibile utilizzare Msysgit da cmd.exe o qualsiasi altro processo di Windows come qualsiasi altra applicazione nativa. (Cygwin è diverso, ma Msys non è cygwin)
Jan Hudec,

16

+1 Mercurial.

Mercurial è bello, è facile, ha molte GUI intuitive e si sente più professionale. Non ho mai capito perché Git avesse un tale clamore, mentre altri grandi sono all'ombra. Mercurial è anche supportato da google code, bitbucket.org (l'equivalente di github), eclipse ... lo uso da due anni e ne sono sempre stato contento.

Modifica febbraio 2014:

Nel frattempo, Git ha assunto un tale vantaggio che lo consiglierei su Mercurial. Tre anni fa, Mercurial era IMHO più lucido, più pulito, migliore. Tuttavia, l'hype è stato dalla parte di Git e lo slancio che ha guadagnato da allora lo rende il chiaro vincitore. Ora è lo standard di fatto a causa della sua enorme comunità.


Git è molto più potente in termini di come è possibile manipolare la storia. Molte persone opteranno per unire le filiali localmente, quindi trasformarle in un singolo ramo della mainline prima di passare al repo principale / pubblico; in questo modo la storia a lungo termine rimane molto pulita. Per quanto ho potuto dire l'ultima volta che ho usato HG, Mercurial non supporta questi tipi di modifiche alla cronologia. In generale, git in Windows fa schifo; i migliori strumenti gui (git-cola, gitk) per usarlo possono essere trovati solo su Linux.
Evan Plaice,

1
Difficilmente direi che Git è riuscito a causa dell'hype: l'ultima volta che ho controllato, il formato back-end di Mercurial era basato su delta e soggetto a corruzione come SVN o CVS. Il modello fondamentale di Git, nel frattempo, è principalmente di sola scrittura con cambiamenti atomici. È solo una soluzione molto più tecnicamente valida.
Stuart P. Bentley,

@ StuartP.Bentley: cosa intendi per corruzione?
Dagnelies,

Interrompere improvvisamente un processo nel mezzo di copiare, spostare, scrivere, su disco o in rete: in Git, questo creerà sempre e solo oggetti immediatamente riconoscibili come spazzatura (poiché il contenuto non corrisponde all'hash), e anche se tu perdi qualcosa a metà strada, puoi controllare cosa hai ottenuto e rimettere insieme le cose da lì.
Stuart P. Bentley,

Nel frattempo, i formati basati su delta che conservano tutte le loro informazioni sulle modifiche in un singolo file, come Mercurial, possono avere incidenti minori (eliminando una riga che descrive una modifica, ad esempio) che interrompono il file in modo tale che, come Humpty Dumpty , è impossibile rimettere insieme.
Stuart P. Bentley,

8

So che https://github.com/ fornisce supporto per quanto riguarda i repository privati ​​per le imprese

In particolare forniscono un servizio chiamato installazione firewall http://fi.github.com/ Sostengono di fornire supporto ma non hanno dettagli pubblicati online e non li ho mai usati.

I costi sono di 5000 $ per 20 persone all'anno.


-1 non risponde affatto alla sua domanda
MattyD

13
Ha chiesto aziende che forniscano soluzioni e supporto. Github ha una soluzione di hosting git aziendale specifica per le aziende. Non risponde alla prima domanda. In un certo senso risponde alla seconda domanda. Risponde alla terza domanda.
c00w,

Wow, quando è cambiato il prezzo di FI? L'ultima volta che ho controllato, era qualcosa come 200-250 $ / mese e ora è il doppio oO
wildpeaks

8

Uso sia Git che Mercurial su Windows, ed entrambi sono più che utilizzabili. Penso che gli strumenti della GUI per Mercurial siano migliori, quindi se il tuo team è abituato agli strumenti visivi potrebbe adattarsi meglio. Tendo ad usare la linea di comando, per me ha più senso.

Entrambi, nella mia esperienza, sono a prova di proiettile. Non hai bisogno di 'supporto' in quanto tale, anche se conosco molte aziende piace averlo.

Sono sicuro che ce ne sono altri, ma vale la pena dare un'occhiata Kiln , che è una soluzione mercuriale ospitata.

Nota: indipendentemente dal modo in cui vai, i DVCS sono molto diversi dai VCS tradizionali. IMHO, sono superiori in quasi tutti i modi, ma può richiedere del tempo per abituarsi.


2
può volerci un po 'di tempo per abituarsi. // Ricordo quanto odiavo Git durante quei lunghi due giorni di adattamento da SVN.
c69,

6

git è straniero per gli sviluppatori Windows. Non è un vero cittadino di prima classe. Funziona bene, ma è innanzitutto uno strumento Linux. Ad esempio, il modello di server di git richiede praticamente accessi SSH per motivi di sicurezza.

Il supporto è una domanda e ci sono aziende che possono fornire, di solito accompagnate da una soluzione ospitata.

È noto che Git non richiede server enormi - poiché i repository scalano più capacità e velocità è sempre importante, ma poiché la maggior parte delle operazioni avviene solo sul tuo computer, i requisiti del server sono un ordine di grandezza inferiore a qualcosa come Clearcase.

Per quello che vale, la nostra non abbastanza azienda aziendale di meno di 100 è un grande utente di git, su Windows, con progetti Java e C.


1
Anche se è stato un sacco di complicazioni e ricerche di documentazione, GIT ha funzionato molto bene con l'autenticazione HTTP Basic su SSL supportata da un server LDAP.
DoubleMalt,

1
Fai attenzione agli spazi bianchi / alle terminazioni di linea se prevedi di eseguire il porting di qualcosa su Linux. Può diventare brutto se non sei vigile dall'inizio.
Evan Plaice,

Git è ora integrato in VS 2013 e versioni successive. La SM lo ha reso un cittadino di prima classe.
Clay Smith,

5

Git è molto diverso da Clearcase, quindi la sfida per te sarà probabilmente come migrare senza problemi i tuoi sviluppatori (e altri utenti) a un modo diverso di lavorare con codice sorgente e file. A seconda dell'esperienza dei tuoi utenti e della profonda integrazione di Clearcase nella tua azienda, potrebbe essere necessario un sacco di formazione e disimparare.

Il mio suggerimento inizialmente è di provare git in un progetto pilota e vedere come funziona per il tuo team. Ottieni un repository sicuro su github e sei pronto per il pilot.


5
  • Git è davvero uno strumento affidabile per l'ambiente aziendale, in particolare per la piattaforma Windows?

Presto saremo in un forte sì con questo. Atlassian ha recentemente fatto grandi passi verso questo obiettivo con il rilascio di Stash 1.3 .

  • Il supporto è una domanda per Git in quanto è un controllo di versione open source.

Esiste una solida rete di supporto di utenti Git esperti che offrono consulenza gratuita e vari gruppi di LinkedIn (Git Version Control System). Una rapida ricerca su Google di solito può aiutare con la maggior parte dei requisiti. Per le grandi aziende ci sono anche opzioni di supporto git commerciali oggi disponibili sul mercato.

  • Ci sono aziende che forniscono soluzioni e supporto? Quanto costa il server rispetto ad altri controlli di versione come Clear-case?

Numerose aziende offrono ora supporto affidabile e dedicato per Git. Clearvision e #goGit per nominarne uno.


Il collegamento Stash viene interrotto un anno e mezzo dopo. L'ho trovato qui: atlassian.com/software/stash

1

Nel mio ambiente di lavoro aziendale, ho lavorato sul supporto per portare un team su Mercurial (uno strumento simile a git) di fronte a ClearCase.

Abbiamo scelto hg in party perché è progettato attorno all'immutabilità, che è importante per i nostri obiettivi aziendali. Inoltre, poiché è scritto in Python, funziona molto bene in Windows. Git ha avuto la reputazione di essere un debole per Windows e la mia esperienza lo ha riflesso. (Capisco che gli strumenti sono migliori ora, non uso più Windows abbastanza per controllare. :-)).

L'esperienza è stata generalmente positiva, con la maggior parte dei nostri aspetti negativi relativi ai sottorepository e le strane indicazioni indirette ad essi correlate. Un'altra cosa è che l'archiviazione dei metadati è inesistente in hg; altre soluzioni devono essere sviluppate per gestirlo.

Se dovessi raccomandare una soluzione enterprise per il lavoro "out of the box" per gli sviluppatori Windows, consiglierei di indagare su Kiln e GitHub Firewall .

So che non risponde direttamente alla tua domanda. Ma lasciami dire così, se sei abituato a ClearCase, mi aspetto che Git sia un ordine di grandezza più facile da addestrare, implementare e amministrare.


1

Git e Mercurial possono essere utilizzati in ambienti aziendali. Di qualche grado. Alcune organizzazioni hanno requisiti extra attualmente non soddisfatti da git, cose come un controllo di accesso più rigoroso in modo tale che, per esempio, solo gli utenti specifici abbiano accesso (in lettura) a file specifici nel repository o come interfacce di controllo a cui l'accesso può essere monitorato. Alcuni sistemi aziendali commerciali hanno anche una maggiore integrazione con la gestione dei sistemi IT, come le soluzioni di backup aziendali.

Inoltre, Git non è utile per garantire che la cronologia venga mantenuta, per impostazione predefinita consente di forzare la sovrascrittura dell'intera cronologia del progetto.

Le grandi organizzazioni a volte colpiscono problemi di ridimensionamento. Ecco un caso su Facebook: http://comments.gmane.org/gmane.comp.version-control.git/189776 , mentre alcuni di questi problemi sono risolvibili (ovvero Facebook ha risolto alcuni problemi che avevano in mercurial: https: / /code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/ ) i sistemi di controllo della versione commerciale hanno comportamenti di ridimensionamento diversi che potrebbero (o in altri ambienti non funzionare) funzionare meglio.

... e poi c'è questa cosa di responsabilità. Le organizzazioni più grandi potrebbero preferire chiamare un fornitore esterno in caso di problemi anziché utilizzare il loro tempo per eseguire il debug dei problemi e fare affidamento sul supporto della comunità. Soprattutto se sono coinvolti repository corrotti con informazioni riservate.

Questi non sono affatto problemi che lo rendono inutilizzabile in "ambienti aziendali", ma come sempre software diverso ha pro e contro diversi che devono essere valutati caso per caso.

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.