AllInfo

Mocht U Gebruik maken van een Git Alternatief?

Git is enorm populair en wordt ondersteund bijna overal. Met het praktisch worden de standaard versie controle systeem, het roept de vraag op, wat zijn je alternatieven? Zijn ze de moeite waard te overwegen, en hoe zijn ze anders?

Merk op dat in dit artikel wordt beschreven alternatieven te git als source control software. Als je gewoon op zoek naar alternatieven voor een hosted service zoals Github, kunt u, lees onze gids om te gehost Git oplossingen voor in de plaats.

De Nadelen van Git

Om beter inzicht in de beperkingen van Git, moeten we eerst beginnen met wat het doet recht.

Git maakt gebruik van een gedistribueerde bron control model; elke gebruiker van de lokale repository is niet echt verbonden met een centrale server. Die gebruiker kan offline gaan, maken een hoop veranderingen, en niemand anders ziet die wijzigingen totdat ze worden ingedrukt op de afstandsbediening. Dit werkt zeer goed voor open source software ontwikkeling; Git is veel sneller voor de meeste acties, aangezien individuele gebruikers kunnen een kloon van een repository en maken hun eigen kleine wijzigingen zonder zich zorgen te maken over wat andere mensen doen.

Deze veranderingen kunnen worden geïntegreerd in de master repository met behulp van trek-aanvragen (de gebruiker die de wijziging aanvragen voor de master repository te trekken commits van hun eigen versie van de repo ‘ s), en updates van geverifieerde gebruikers, het leveren van alle samenvoeg conflicten zijn goed opgelost.

Dit model maakt een hoop gevoel voor deze gedistribueerde omgeving voor de ontwikkeling, maar het probleem met Git komt wanneer je probeert aan te passen voor gebruik in een zakelijke omgeving, waar je vaak veel mensen die werken op dezelfde stukjes code, en een goede coördinatie is essentieel.

Begrijp ons niet verkeerd—het is nog steeds fantastisch, vooral wanneer deze is gekoppeld met externe issue tracking software en CI/CD pijpleidingen, iets wat diensten zoals GitLab en BitBucket doen het heel goed. Maar Git was niet bepaald gebouwd voor corporate source control, waar je bent bijna altijd gaat het om een centrale server die fungeert als de master repository. Het vereist een zeer goede manier gebruiken (en vaak externe tools) om effectief te zijn voor agile teams op een veel wijzigingen in de code.

Met Git, elke client bevat een volledige kopie van het project voor de changelog. Elke keer als je een commit in Git, het slaat de wijzigingen op die commit lokaal op uw systeem. Dit maakt het werken met Git erg snel, omdat je alleen maar voor de query op een harde schijf komt en niet van een centrale server. Ook kunt u offline werkt veel gemakkelijker. Maar met grote projecten met een lange geschiedenis verandert, kan dit ook leiden tot het .git map met een onredelijke hoeveelheid ruimte.

Ook als u meerdere projecten, je waarschijnlijk niet wilt dat de broncode voor alles wat zichtbaar is voor elke ontwikkelaar. In Git, dit probleem wordt meestal opgelost door het hebben van afzonderlijke archieven voor elk project, dat werkt vrij goed, maar niet ideaal als je moet integreren ze samen tot een samenhangend stuk. Met gecentraliseerde controle van versies, kunt u toegang verlenen tot specifieke mappen.

Dus, terwijl Git is waarschijnlijk niet de verkeerde keuze voor uw bedrijf, in het bijzonder, indien goed toegepast, er zijn andere bron controle opties, speciaal voor zakelijke workflows, en het kan de moeite waard zijn om te kijken naar de concurrentie.

GERELATEERD: het Instellen van een Persoonlijke Gitlab Server

Het Voornaamste Alternatief: Gecentraliseerde Versie Controle

De meest voorkomende verschil tussen Git en de alternatieven is het breken van decentrale versie controle in het voordeel van een centrale, gezaghebbende server. Apache Subversion en Team Foundation Version Control zijn ‘grote’ versie controle systemen die volgt deze indeling.

Ter vergelijking, in een DVC systeem, heeft elke gebruiker een lokale repository die ze plegen hun eigen veranderingen. Wanneer ze klaar zijn om updates te sturen naar de master server, is het mogelijk voor andere gebruikers verschillende versies van hetzelfde bestand dat u aan het werk bent. Dit staat bekend als een samenvoeg conflict, en het is een zeer vaak (hoewel gemakkelijk oplosbare) probleem met Git.

In gecentraliseerde versie controle (CVC) zoals Apache Subversion, er is een enkele server repository, en veel klanten rechtstreeks aangesloten op het. Als u een wijziging aanbrengt in een bestand, dat bestand is bijgewerkt op andere gebruikers van machines wanneer zij werken. Commits zijn gemaakt direct naar de master server.

Om te voorkomen dat het samenvoegen van conflicten, de meeste CVC-systemen maken gebruik van de sluizen. Als de Gebruiker wenst te werken aan een bestand en niet wilt dat iemand anders voor de gek, ze vergrendeld zijn, kunt u het bestand totdat ze klaar zijn, voorkomen dat andere gebruikers hetzelfde te doen. Dit is niet vereist in Subversion, en samenvoeg conflicten kan nog steeds gebeuren, maar ze zijn minder van een ongeval.

Het probleem is meestal beperkt met vertakkingen en lokale kopieën, waarmee meerdere gebruikers te werken aan hun eigen versies voor langere tijd voor het samenvoegen van wijzigingen.

Een andere leuke functie van gecentraliseerde versie controle is toestemming van het management; plaats van het geven toegang tot het gehele archief, CVC maakt het gemakkelijk om de sectie uit de toegang tot bepaalde mappen. Team Foundation Version Control werkt op vrijwel dezelfde manier als Subversion, waardoor een korrelachtige toestemming delegatie naar beneden om het bestand niveau.

Al deze kenmerken maken het gecentraliseerde versie controle een levensvatbaar alternatief voor DVC. Immers, Google presenteert al hun code in een grote, gecentraliseerde systeem, veel groter dan een gedistribueerd systeem kon verwerken. Toegegeven, de Windows codebase is een 300 GB Git repo, maar dat is met behulp van Git ‘ s Virtual File System plugin, die het mogelijk maakt dat gebruikers alleen het downloaden van de bestanden die ze nodig hebben, en niets meer.

Een nadeel van Subversion is echter dat het vaak veel van het kopiëren en downloaden om te doen, die kan het veel langzamer dan Git ‘ s alleen-lokale model.

GERELATEERD: De Beste Alternatieven voor Github

Andere Alternatieven

Terwijl wij ons hebben gericht op gecentraliseerde versiebeheersystemen die de plaats van Git, er zijn andere verspreide versie controle systemen die u kunt gebruiken, met name Mercurial.

Mercurial is een beetje gemakkelijker te gebruiken dan Git, en ze zijn beide ongeveer dezelfde performance-wise, maar over het algemeen zijn ze zeer vergelijkbaar. Echt, er is niet veel reden om te kiezen voor Mercurial over Git, andere dan persoonlijke voorkeur, die waarschijnlijk niet dicteren zakelijke beslissingen nemen.

Mercurial gebruikt om een optie in de BitBucket, maar ze lieten de ondersteuning voor de onlangs is de primaire reden dat Git is gewoon veel meer populaire en breed ondersteund. Het is praktisch de standaard versie controle systeem, en tenzij er een alternatief is voor een grondige wijziging in het model (zoals CVC), het is niet het overwegen waard.

Exit mobile version