2010-09-11 11 views
8

Sto cercando di installare un repository sul mio lavoro per tutto il codice (principalmente C, Assembler, batch basic) che io e i miei colleghi utilizziamo. Conosco alcune cose sugli archivi ma non posso decidere correttamente quali sono buoni o meno. Non ho esperienza con loro, ma finora Apache Subversion e il repository Python hanno un bell'aspetto. Ce ne sono altri che sono buoni? Facile da usare e da configurare?Repository di codice. Che buono?

+1

Questa domanda è troppo soggettiva per Stack Overflow, ma è proprio il vicolo di [Programmers.SE] (http://programmers.stackexchange.com/). Infatti, è già stato chiesto: [Qual è il miglior sistema di controllo della versione?] (Http://programmers.stackexchange.com/questions/940/whats-the-best-version-control-system) –

+0

Sono ancora nuovo di Questo. Grazie per l'aiuto sul sito diverso. – TheTuxedo

risposta

5

Dai un'occhiata alla:

La tecnologia che stai cercando si chiama controllo del codice sorgente . Un repository è un termine usato dalla maggior parte dei diversi strumenti di controllo del codice sorgente per fare riferimento alla raccolta del codice sorgente. Un'istanza di controllo del codice sorgente (come SVN) può avere molti repository. Di solito un repository contiene un progetto o un gruppo di progetti strettamente correlati. I progetti distinti sarebbero un buon esempio in cui vorresti fare uso di più repository.

Git e Mercurial sono strumenti di controllo dell'origine distribuiti, mentre SVN e Perforce no.

Alcuni provider offrono integrazioni IDE (Perforce offre uno, è possibile ottenere quelli per Subversion, ad esempio: Ankh per Visual Studio). Altri utenti scelgono di gestire il controllo del codice sorgente al di fuori dell'IDE come opzioni puramente file system.

Se sei felice di avere il codice sorgente nel cloud, git hub potrebbe essere una buona soluzione. Offrono repository Git gratuiti che non è necessario gestire.

+0

Perforce fornisce una versione gratuita completamente funzionale per un massimo di 2 utenti, tra l'altro. Insieme a pacchetti di integrazione eccellenti per IDE comuni e bug tracker. –

+0

Grazie - aggiornato. –

0

GitHub, o un auto di proprietà git repo, direi ...

+0

Perché? (Non in disaccordo, ma vorrei vedere alcuni ragionamenti persuasivi perché). Inoltre, un argomento contrario potrebbe essere che, in base alla politica, potresti non essere in grado di ospitare il codice sorgente nel cloud. –

+0

facile da usare e locale commits possibile – polemon

4

Guardare in Git, Mercurial, Subversion e CVS. Quelli sono i grandi giocatori. Penso che SVN sia relativamente facile da configurare, ma Git e Mercurial hanno alcuni utenti veramente fanatici, quindi potresti scoprire che ti piacciono di più.

+2

Si prega di non elencare CVS ... –

+0

@Clark Non l'ho consigliato, ma nella mia esperienza è ancora uno dei sistemi di controllo di versione più ampiamente utilizzati. Non è una brutta esperienza averne esperienza, anche se è solo provarlo e decidere che non gli piace. –

0

Prova Mercurial. È semplice iniziare come nella cartella del tuo codice e digitare hg init. Una volta che il repository è stato inizializzato, è possibile aggiungere tutto con hg add e quindi eseguire il commit con hg commit -m "Initial commit." o qualcosa del genere. C'è anche un ottimo tutorial su hginit.com.

+0

Il tuo argomento è ugualmente valido se cambi la roba mercuriale in git. – Jimmy

+0

@Jimmy: È vero, ma mi piace Mercurial. Inoltre, non ho trovato un equivalente a hginit.com. È una grande risorsa e le risorse per il git erano un po 'scarse l'ultima volta che ho guardato (anche se sta migliorando). – icktoofay

+1

Pro Git? Che i libri siano usciti per sempre, anche il download di pdf gratuito. – jer

0

Subversion, Git. CVS è stato menzionato, ma SVN lo supera.

2

Io voto per SVN poiché è quello che uso, ma devo ammettere che mi piace molto l'idea alla base di Git e Hg (Mercurial).

Il problema più grande è in genere con la fusione, penso, ma il tracciamento unione di SVN ha reso il processo molto più semplice. Plus TortoiseSVN semplifica la gestione dei tuoi rami pronti contro termine, se ti trovi in ​​Windows.

Per me l'unica caratteristica di Git e Hg che mi piace davvero è la distribuzione di tutto questo. Se non sbaglio, la dipendenza da un repository centrale scompare e rende la vita più semplice alle persone che lavorano in remoto o che sono spesso disconnesse.Ad esempio, faccio tutto il mio lavoro in una directory di lavoro che viene verificata dal nostro server SVN. Il problema è che se non ho una connessione di rete, non posso guardare il repository o il commit. Questo mi fa davvero schifo perché mi piace poter controllare il mio codice alle pietre miliari, e se sto lavorando su un'isola non posso proprio farlo, chiaro e semplice. Tuttavia, con Git e Hg il repository è locale: è il computer, quindi se si desidera trasferire le modifiche in un repository centrale, è possibile farlo completamente.

Mi piacerebbe ancora passare a Hg, ma quando le scadenze sono sempre su di te, sai cosa succede sul backburner.

2

Mi consiglia di dare un'occhiata a fossil. È un controllo di versione distribuito facile da usare a bassa cerimonia che ha anche trouble ticket e una wiki. Lo strumento stesso è un eseguibile a sé stante, quindi l'unica installazione di cui ha bisogno è di rilasciare quell'eseguibile in una cartella idonea sul PATH. È altamente portatile, con file binari disponibili per Windows e una varietà di piattaforme * nix.

È adatto per progetti su una vasta gamma di bilance. La storia completa del progetto di SQLite è stata spostata da CVS a fossile poco dopo essere stata completa per essere utile, e tutti gli attuali sviluppi di SQLite sono conservati in un deposito di fossili, ad esempio.