Jämförelse av programvara för versionskontroll

Inom mjukvaruutveckling är versionskontroll en klass av system som ansvarar för att hantera ändringar av datorprogram eller andra samlingar av information så att revisioner har en logisk och konsekvent organisation. Följande tabeller innehåller allmän och teknisk information om anmärkningsvärd versionskontroll och mjukvarukonfigurationshantering ( SCM ) . För SCM-programvara som inte lämpar sig för källkod , se Jämförelse av programvara för konfigurationshantering med öppen källkod .

Allmän information

Tabellförklaring

  • Förvarsmodell beskriver förhållandet mellan olika kopior av källkodsförrådet . I en klient-server-modell får användare tillgång till ett huvudlager via en klient ; vanligtvis har deras lokala maskiner bara en arbetskopia av ett projektträd. Ändringar i en arbetskopia måste överföras till huvudarkivet innan de sprids till andra användare. I en distribuerad modell fungerar repositories som peers, och användare har vanligtvis ett lokalt arkiv med versionshistorik tillgänglig, förutom sina arbetskopior.
  • Samtidighetsmodellen beskriver hur ändringar i arbetskopian hanteras för att förhindra att samtidiga redigeringar orsakar meningslös data i förvaret. I en låsmodell är ändringar inte tillåtna tills användaren begär och får ett exklusivt lås på filen från huvudförvaret. I en sammanslagningsmodell kan användare fritt redigera filer, men informeras om eventuella konflikter när de kontrollerar sina ändringar i förvaret, varpå versionskontrollsystemet kan slå samman ändringar på båda sidor, eller låta användaren bestämma när konflikter uppstår. Distribuerade versionskontrollsystem använder vanligtvis en sammanslagningsmodell för samtidighet.
programvara Underhållare Utvecklingsstatus Förvarsmodell Samtidighetsmodell Licens Plattformar som stöds Finansiell kostnad
AccuRev SCM Micro Focus International Aktiva Klient-server Slå samman eller lås Proprietär De flesta Java- plattformar ( Unix-liknande , Windows , macOS ) $350 per plats, noterat på individuell basis.
Azure DevOps Microsoft Aktiva Klient–server , distribuerad Slå samman eller lås Proprietär Windows , plattformsoberoende via Azure DevOps Services Gratis för upp till 5 användare i Azure DevOps Services eller för projekt med öppen källkod; annat till självkostnadspris, licensierad genom MSDN-abonnemang eller direktköp.
GNU-basaren Canonical Ltd. senaste utgåvan från 2016, klaffad som Breezy Distribuerad och klient-server Sammanfoga GPL-2.0 eller senare Unix-liknande , Windows , macOS Gratis
BitKeeper BitMover Inc. ounderhållen; senast uppdaterad 29 december 2018 Distribuerad Sammanfoga Apache-2.0 Unix-liknande , Windows , macOS Gratis
ClearCase IBM Rational Aktiva Klient-server Slå samman eller lås Proprietär Linux , Windows , AIX , Solaris , HP UX , IBM i , OS/390 , z/OS , $4600 per flytande licens (hålls automatiskt i minst 30 minuter per användare, kan överlämnas manuellt)
Kod Co-op Pålitlig programvara Aktiva Distribuerad Sammanfoga MIT Windows $150 per plats
CVS CVS-teamet underhålls men nya funktioner har inte lagts till; senaste utgåvan från 2008 Klient-server Sammanfoga GPL-1.0 eller senare Unix-liknande , Windows , macOS Gratis
CVSNT March Hare Software och medlemmar i communityn Aktiva Klient-server Slå samman eller lås GPL eller proprietär Unix-liknande , Windows , macOS , IBM i £425 distributionsavgift för äldre version eller £85 kommersiell licens för senaste versionen av CVS Suite eller Change Management Server
darcs Darcs-teamet Aktiva Distribuerad Sammanfoga GPL-2.0 eller senare Unix-liknande , Windows , macOS Gratis
Dat Dat-teamet Aktiva Distribuerad Sammanfoga BSD-3-klausul Unix-liknande , Windows , macOS Gratis
Mått CM Serena programvara Aktiva Klient-server Slå samman eller lås Proprietär Windows , Linux , Solaris , AIX , HP UX , z/OS Betalt
Fossil D. Richard Hipp Aktiva Distribuerad Sammanfoga BSD-2-klausul POSIX , Windows , macOS , Övrigt Gratis
Git Junio ​​Hamano Aktiva Distribuerad Sammanfoga Endast GPL-2.0 POSIX , Windows , macOS Gratis
GNU båge Andy Tai ounderhållen Distribuerad Sammanfoga GPL Unix-liknande , Windows , macOS Gratis
IC Hantera IC Manage Inc. Aktiva Klient-server Slå samman eller lås Proprietär Unix-liknande , Windows , macOS Betalt
PTC-integritet PTC Aktiva Klient-server Slå samman eller lås Proprietär Unix-liknande , Windows Betalt
Mercurial Mercurial Community Aktiva Distribuerad Sammanfoga GPL-2.0 eller senare Unix-liknande , Windows , macOS Gratis
Monoton Nathaniel Smith, Graydon Hoare Aktiva Distribuerad Sammanfoga GPL-2.0 eller senare Unix-liknande , Windows , macOS Gratis
Perforce Helix Core Perforce Software Inc. Aktiva Klient–server och distribuerad Slå samman eller lås Proprietär Unix-liknande , Windows , macOS Tillgänglig som evig licens och prenumerationer; priserna varierar beroende på konfigurationer och alternativ
Plast SCM Codice programvara Aktiva Klient–server och distribuerad Slå samman eller lås Proprietär Linux , Windows , macOS Gratis för upp till 3 användare, annars från $7 per användare och månad för server-värd, eller $23 per användare och månad för lokal utgåva. Inga eviga licenser.
PVCS Serena programvara Aktiva Klient-server Låsa Proprietär Windows , Unix-liknande Betalt
Rational Team Konsert IBM Rational Aktiva Klient-server Slå samman eller lås Proprietär Linux , Windows , AIX , Solaris , HP UX , IBM i , OS/390 , z/OS , macOS Gratis för upp till 10 användare, annars betalas
Revisionskontrollsystem Thien-Thi Nguyen Aktiva lokal Slå samman eller lås GPL-3.0 eller senare Unix-liknande Gratis
SCM var som helst Dynamisoft Corporation Aktiva Klient-server Slå samman eller lås Proprietär Unix-liknande , Windows , macOS Gratis för en användare; fleranvändare $299 per användare, massrabatt tillgänglig
Källkodskontrollsystem (SCCS) Jörg Schilling Aktiva lokal låsa CDDL / proprietär Unix-liknande , macOS Gratis CDDL- licensierade versioner eller betalda i vissa UNIX-distributioner.
StarTeam Borland ( Micro Focus ) Aktiva Klient-server Slå samman eller lås Proprietär Windows och Cross-platform via Java-baserad klient Betalt
Subversion (SVN) Apache Software Foundation Aktiva Klient-server Slå samman eller lås Apache-2.0 Unix-liknande , Windows , macOS Gratis
Surround SCM Perforce Software Inc. Aktiva Klient-server Slå samman eller lås Proprietär Linux , Windows , macOS $595 per användare; $29/månad prenumeration
Synergi IBM Rational Aktiva Klient–server och distribuerad Slå samman eller lås Proprietär Linux , Windows , Unix-liknande Betalt
Valv SourceGear LLC Aktiva Klient-server Slå samman eller lås Proprietär Unix-liknande , Linux , Windows $300 per användare
Vesta Kenneth Schalk; Tim Mann, webbplats inte uppdaterad sedan 2006; senaste utgåvan 15 februari 2009 ( 2009-02-15 ) Distribuerat NFS-protokoll-emuleringsval för att valfritt konfederera klienter och/eller servrar lås på gren; slå samman gren till gren LGPL Tru64 , Linux Gratis
Visual SourceSafe (VSS) Microsoft bara allvarliga buggfixar Delad mapp Slå samman eller lås Proprietär Windows 500 USD per licens ungefär, eller enstaka licens ingår i varje MSDN-abonnemang.
programvara Underhållare Utvecklingsstatus Förvarsmodell Samtidighetsmodell Licens Plattformar som stöds Finansiell kostnad

Teknisk information

Tabellförklaring

  • Programvara : Namnet på applikationen som beskrivs.
  • Programmeringsspråk : Det kodspråk som applikationen utvecklas på
  • Lagringsmetod : Beskriver i vilken form filer lagras i arkivet. En ögonblicksbild indikerar att en eller flera engagerade filer lagras i sin helhet - vanligtvis komprimerade. En ändringsuppsättning , i detta sammanhang, indikerar att en eller flera committed-filer lagras i form av en skillnad mellan antingen föregående version eller nästa.
  • Omfattning av förändring : Beskriver om ändringar registreras för enskilda filer eller för hela katalogträd .
  • Revisions-ID:n : används internt för att identifiera specifika versioner av filer i förvaret. System kan använda pseudoslumpmässiga identifierare, innehållshaschar för versioner eller filnamn med sekventiella versionsnummer ( namnutrymme ) . Med Integrated Difference baseras revisioner på själva ändringsuppsättningarna, som kan beskriva ändringar i mer än en fil.
  • Nätverksprotokoll : listar de protokoll som används för synkronisering av ändringar .
  • Källkodsstorlek : Anger storleken på källkoden i megabyte.
programvara Programmeringsspråk Förvaringsmetod Omfattning av förändring Revisions-ID Nätverksprotokoll Källkodsstorlek
AccuRev SCM C++ , Java Ändringsuppsättning Fil Nummerpar NN/NN beställnings- Okänd
Azure DevOps C++ och C# Ändringsuppsättning Fil och träd Tal SOAP över HTTP eller HTTPS, Ssh Okänd
GNU-basaren Python 2 , Pyrex (valfritt) , C Ögonblicksbild Träd Pseudoslump anpassad, anpassad över ssh , anpassad över HTTP , HTTP , SFTP , FTP , e-postpaket, WebDAV (med plugin) 4,1 MB
BitKeeper C Ändringsuppsättning Träd Ändra nycklar, siffror anpassad, HTTP , rsh , ssh , e-post 99 MB
CA Software Change Manager C , C++ , Java , HTML Ändringsuppsättning och ögonblicksbild Fil och träd [ citat behövs ] Tal HTTP , TCP/IP Okänd
ClearCase C , Java , Perl Ändringsuppsättning Fil och träd Tal anpassad (CCFS), anpassad ( MVFS- filsystemdrivrutin), HTTP Okänd
Kod Co-op C++ Ändringsuppsättning Okänd Användar-ID-Ordinal e-post ( MAPI , SMTP / POP3 , Gmail ), LAN Okänd
CVS C Ändringsuppsättning Fil Tal pserver, ssh 10,3 MB
CVSNT C++ Ändringsuppsättning Fil och träd Tal anpassad över ssh , sspi, sserver, gserver, pserver 55 MB
darcs Haskell Ändringsuppsättning (patch) Träd n/a anpassad över ssh , HTTP , e-post 1,7 MB
Mått CM C , C++ , Java , C# Ögonblicksbild eller ändringsuppsättning Fil och träd Tal Anpassad, HTTP / HTTPS Okänd
Fossil C Ögonblicksbild eller ändringsuppsättning Träd SHA-1 eller SHA-3 hash HTTP / HTTPS , anpassad över ssh 7,2 MB
Git C , skalskript , Perl Ögonblicksbild Träd SHA-1- haschar anpassad ( git ), anpassad över ssh , HTTP / HTTPS , rsync , e-post, paket 23 MB
GNU båge C , skalskript Ändringsuppsättning Träd Tal HTTP , WebDAV Okänd
IC Hantera C++ , C Ändringsuppsättning Okänd Tal beställnings- Okänd
Mercurial Python , C Ändringsuppsättning Träd Siffror, SHA-1- haschar anpassade över ssh , HTTP , e-postpaket (med standardplugin) 20 MB
MKS Integritet C , Java Ändringsuppsättning Fil Tal anpassad, HTTP Okänd
Monoton C++ Hybrid Träd SHA-1- haschar anpassad ( netsync ), anpassad över ssh , filsystem 4,4 MB
Perforce Helix Core C++ , C Ändringsuppsättning Träd Tal beställnings- Okänd
PVCS C++ , C Ändringsuppsättning Fil Tal Okänd Okänd
Rational Team Konsert Java Ändringsuppsättning Träd Tal REST -tjänster över HTTP / HTTPS Okänd
Revisionskontrollsystem C Ändringsuppsättning Fil Tal Filsystem 5,3 MB
SCM var som helst C++ , Java , C# Ändringsuppsättning Fil och träd Tal SOAP över HTTP eller HTTPS Okänd
Källkodskontrollsystem C Ändringsuppsättning Fil Tal NFS 1,3 MB
StarTeam C++ , C , Java Ögonblicksbild Fil och träd MD5- haschar anpassad, TCP/IP Okänd
Omstörtning C Ändringsuppsättning och ögonblicksbild Träd Tal anpassad ( svn ), anpassad över ssh , HTTP och SSL (med WebDAV ) 41 MB
Surround SCM C++ Ändringsuppsättning Fil och träd Tal TCP/IP Okänd
Synergi Java Ändringsuppsättning (text), ögonblicksbild (binär) Fil Tal anpassad, anpassad över ssh , HTTP Okänd
Valv C# Ändringsuppsättning Fil och träd Tal HTTP , HTTPS Okänd
Vesta C++ Ögonblicksbild Träd Okänd NFS 15,8 MB
Visual SourceSafe C Ögonblicksbild Fil Tal SMB , DCOM Okänd
programvara Programmeringsspråk Förvaringsmetod Omfattning av förändring Revisions-ID Nätverksprotokoll Källkodsstorlek

Funktioner

Tabellförklaring

  • Programvara : Namnet på applikationen som beskrivs.
  • Atomic commits : hänvisar till en garanti för att alla ändringar görs, eller att ingen förändring alls kommer att göras.
  • Filbyter namn : beskriver om ett system tillåter att filer döps om samtidigt som deras versionshistorik behålls.
  • Sammanfoga fil byter namn : beskriver om ett system kan slå samman ändringar som gjorts i en fil på en gren till samma fil som har bytt namn på en annan gren (eller vice versa). Om samma fil har bytt namn på båda grenarna finns det en bytenamnskonflikt som användaren måste lösa.
  • Symboliska länkar : beskriver om ett system tillåter revisionskontroll av symboliska länkar som med vanliga filer. Versionering av symboliska länkar anses av vissa personer vara en funktion och vissa personer som ett säkerhetsintrång (t.ex. en symbolisk länk till /etc/passwd). Symboliska länkar stöds endast på utvalda plattformar, beroende på programvaran.
  • Pre-/post-event hooks : indikerar förmågan att utlösa kommandon före eller efter en åtgärd, såsom en commit, äger rum.
  • Signerade revisioner : hänvisar till integrerad digital signering av revisioner, i ett format som OpenPGP .
  • Sammanfogningsspårning : beskriver om ett system kommer ihåg vilka ändringar som har slagits samman mellan vilka grenar och bara slår samman de ändringar som saknas när en gren slås samman till en annan.
  • Radslutskonverteringar . : beskriver huruvida ett system kan anpassa radslutstecken för textfiler så att de matchar radslutsformatet för det operativsystem som det används under Granulariteten i kontrollen varierar. Subversion, till exempel, kan konfigureras för att hantera EOLs olika beroende på filtyp, medan Perforce konverterar alla textfiler enligt en enda inställning per klient.
  • Taggar : indikerar om meningsfulla namn kan ges till specifika revisioner, oavsett om dessa namn kallas taggar eller etiketter.
  • Internationell support : indikerar om programvaran har stöd för flera språkmiljöer och operativsystem
  • Unicode filnamnsstöd : indikerar om programvaran har stöd för interoperationer under filsystem som använder olika teckenkodningar .
  • Stöder stora arkiv : Kan systemet hantera arkiv på runt en gigabyte eller större effektivt?
programvara Atomic begår Filen byter namn Slå samman filnamnen Symboliska länkar Pre-/post-event krokar Signerade revisioner Slå samman spårning Radslutskonverteringar _ Taggar Internationellt stöd Stöd för Unicode-filnamn Stöder stora repor
AccuRev SCM Ja Ja Partiell Ja Ja Ja Ja Ja Ja Ja Ja
Azure DevOps Ja Ja Ja Ja Ja Nej Ja Ja Ja Ja Ja Ja
GNU-basaren Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Okänd
BitKeeper Ja Ja Ja Ja Ja Okänd Ja Ja Ja Okänd Okänd Ja
CA Software Change Manager Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Okänd
ClearCase Partiell Ja Ja Ja Ja Ja Ja Ja Ja Ja Okänd Ja
Kod Co-op Ja Ja Ja Nej Partiell Nej Nej Nej Ja Okänd Okänd Okänd
CVS Nej Nej Nej Nej Partiell Nej Nej Ja Ja Okänd Nej Ja
CVSNT Ja Ja Ja Ja Ja Nej Ja Ja Ja Ja Ja Ja
darcs Ja Ja Ja Nej Ja Ja Nej Ja Nej Ja Okänd
Mått CM Ja Ja Ja Nej Ja Okänd Ja Ja Ja Nej Ja Ja
Fossil Ja Ja Ja Ja Nej Ja Ja Ja Ja Ja Ja Okänd
Git Ja Partiell Ja Ja Ja Ja Ja Ja Ja Ja Ja Partiell
GNU båge Ja Ja Okänd Ja Ja Ja Okänd Okänd Ja Okänd Okänd Okänd
IC Hantera Ja Ja Nej Ja Ja Ja Ja Ja Ja Ja Okänd Okänd
MKS Integritet Ja Ja Ja Nej Ja Ja Ja Ja Ja Ja Ja Okänd
Mercurial Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Partiell Ja
Monoton Ja Ja Ja Nej Ja Ja, obligatoriskt Ja Ja Ja Okänd Ja Okänd
Perforce Helix Core Ja Ja Ja Partiell Ja Nej Ja Ja Ja Ja Ja Ja
Rational Team Konsert Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Okänd
Källkodskontrollsystem Ja Nej Nej Nej Ja Nej Nej Partiell Ja Ja
StarTeam Ja Ja Okänd Ja Nej Nej Ja Ja Ja Ja Okänd Ja
Omstörtning Ja Ja Partiell Ja Ja Nej Ja. Ja Partiell Ja Ja Ja
Surround SCM Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
Synergi Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
Valv Ja Ja Ja Nej Ja Nej Nej Ja Ja Okänd Okänd Okänd
Vesta Ja Ja Okänd Okänd Ja Nej Nej Nej Ja Nej Okänd Ja
Visual SourceSafe Nej Nej Okänd Nej Ja Nej Nej Okänd Ja Ja Okänd Okänd
programvara Atomic begår Filen byter namn Slå samman filnamn Symboliska länkar Pre-/post-event krokar Signerade revisioner Slå samman spårning Radslutskonverteringar _ Taggar Internationellt stöd Stöd för Unicode-filnamn Stöder stora repor

Avancerade funktioner

Tabellförklaring

  • nyckelordsexpansion : stöder automatisk expansion av nyckelord som filversionsnummer.
  • interaktiva commits : interaktiva commits tillåter användaren att välja vanliga kodrader som används för att förankra filer (patch-hunks) som blir en del av en commit (lämnar omarkerade ändringar som ändringar i arbetskopian), istället för att bara ha en granularitet på filnivå .
  • externa referenser : inbäddning av utländska arkiv i källträdet
  • partiell utcheckning/klon : möjlighet att checka ut eller endast klona en specificerad underkatalog från ett arkiv.
  • behörigheter : spårar filbehörighetsbitar i revisionshistoriken.
  • tidsstämpel bevarande : skriver över det senast ändrade filsystemattributet med commit-tiden vid utcheckning.
  • anpassat automatiskt sammanfogningsverktyg : automatisk sammanslagning kan göras av vilket verktyg som helst av användaren (förhoppningsvis konfigurerbart per fil)
  • format som stöds : antingen läs/skrivstöd eller skrivskyddad (konvertering, eventuellt upprepad)
  • delad byggcache för härledda objekt : möjligheten att automatiskt ersätta (blinka in) härledda objekt som byggdes av andra konfedererade klienter som delar exakt samma beroenden istället för att bygga om dem lokalt
programvara Sökordsexpansion Interaktiva åtaganden Externa referenser Delvis utcheckning/kloning Behörigheter Tidstämpel bevarande Anpassat automatiskt sammanfogningsverktyg Format som stöds Delad byggcache för härledda objekt
AccuRev SCM Ja Okänd Ja Ja endast exekveringsbit Ja Ja git (bi-dir) Nej
Azure DevOps Nej Ja Okänd Ja Ja Okänd Ja Okänd Okänd
GNU-basaren Ja Ja Ja Nej endast exekveringsbit Nej Ja bzr, subversion, git, hg, alla som har en fastexporter Nej
BitKeeper POSIX och RCS Ja Ja Ja Ja Ja Ja bettvaktare Nej
CA Software Change Manager Nej Ja Nej Ja endast exekveringsbit Ja Ja CA Software Change Manager Nej
ClearCase Ja Nej Nej Ja Ja Ja Ja ClearCase Ja
CVS RCS Nej Ja Ja Partiell Ja Nej cvs Nej
CVSNT RCS Ja Ja Ja Ja Ja Nej cvs Ja
darcs Nej Ja Nej Nej Partiell Nej endast konflikter darcs Nej
Mått CM Ja Nej Ja Ja Ja Ja Ja Migrering från ClearCase, Subversion, CVS, PVCS, ChangeMan DS Okänd
Fossil Nej Ja Ja Nej endast exekveringsbit Nej Nej fossil (använder sqlite), alla som har en fastexporter; migration från git och svn Nej
Git Nej Ja Ja Ja endast exekveringsbit Nej Ja git, cvs, subversion, hg, alla som har en fastexporter Nej
Mercurial Ja Ja Ja Ja endast exekveringsbit genom (alfa)förlängning Ja hg, subversion, förlustfri tvåvägs push till och pull från git, migrering från vilket annat format som helst som stöds av Convert-tillägget: CVS, Darcs, Bazaar, Monotone, GNU Arch och Perforce Nej
Perforce Helix Core Ja Nej Nej Ja Ja Ja Ja Ovillkorligen Nej
Rational Team Konsert Nej Ja Ja Ja Ja Okänd Okänd N/A Nej
Källkodskontrollsystem Ja Nej Ja endast exekveringsbit några varianter [ citat behövs ] Nej sccs Nej
Surround SCM Ja Nej Nej Ja Nej Ja Ja Omge Nej
Omstörtning Ja Partiell Ja Ja endast exekveringsbit Partiell Ja omstörtning Nej
Vesta Nej Nej Ja via SDL Nej Okänd Ja Nej Vesta Ja
Visual SourceSafe Ja Okänd Okänd Ja Ja Okänd Ja Okänd Nej
programvara Sökordsexpansion Interaktiva åtaganden Externa referenser Delvis utcheckning/kloning Behörigheter Tidstämpel bevarande Anpassat automatiskt sammanfogningsverktyg Format som stöds Delad byggcache för härledda objekt

Grundläggande kommandon

Tabellförklaring

  • Kommandon i gröna rektanglar som inte är omgivna av [hakparenteser] finns vid en interaktiv kommandorad. Text inom [hakparenteser] är en förklaring av var man kan hitta motsvarande funktionalitet.
  • repository init : Skapa ett nytt tomt arkiv (dvs versionskontrolldatabas)
  • clone : Skapa en identisk instans av ett arkiv (i en säker transaktion)
  • pull : Ladda ner versioner från ett fjärrlager till ett lokalt arkiv
  • push : Ladda upp revisioner från ett lokalt arkiv till ett fjärrarkiv
  • lokala grenar : Skapa en lokal gren som inte finns i det ursprungliga fjärrlagret
  • utcheckning : Skapa en lokal arbetskopia från ett (fjärr-) arkiv
  • update : Uppdatera filerna i en arbetskopia med den senaste versionen från ett arkiv
  • lås : Lås filer i ett arkiv från att ändras av andra användare
  • add : Markera specificerade filer som ska läggas till i arkivet vid nästa commit
  • remove : Markera specificerade filer som ska tas bort vid nästa commit (observera: behåller en sammanhängande revisionshistorik för före och vid borttagningen.)
  • flytta : Markera specificerade filer som ska flyttas till en ny plats vid nästa commit
  • copy : Markera specificerade filer som ska kopieras vid nästa commit
  • sammanfoga : Tillämpa skillnaderna mellan två källor på en sökväg för arbetskopior
  • commit : Registrera ändringar i arkivet
  • återställ : Återställ arbetskopior från arkivet
  • generera paketfil : Skapa en fil som innehåller en komprimerad uppsättning ändringar av ett givet arkiv
  • rebase : Forward-port local commits till det uppdaterade uppströmshuvudet
programvara Repository init klona dra skjuta på Lokala filialer kolla upp uppdatering låsa Lägg till avlägsna flytta kopiera sammanfoga begå återgå generera paketfil rebas
AccuRev SCM mkdepot N/A N/A N/A mkstream mkws uppdatering ankare Lägg till nedlagda flytta cp [sedan] lägg till / inkl -s / ln sammanfoga behålla / främja rensa / återgå N/A chstream
Azure DevOps använder Git klona med Git skaffa sig begå hyllplan kolla upp skaffa sig låsa Lägg till radera Döp om använder Git sammanfoga begå ångra använder Git skaffa sig
GNU-basaren init / init --no-tree / init-repo / init-repo --inga-träd gren / gren --inget-träd dra skjuta på init/gren kassan / kassan --lättvikt uppdatering N/A Lägg till rm mv N/A sammanfoga begå återgå skicka rebas
BitKeeper uppstart klona dra -R skjuta på klona co dra Okänd Lägg till rm mv cp dra begå ångra makepatch kollaps
ClearCase i det N/A N/A N/A N/A kolla upp uppdatering lås lås upp mkelem rmname mv N/A sammanfoga checka in avchecka / rmver N/A hitta sammanslagning
CVS i det N/A N/A N/A N/A kolla upp uppdatering Okänd Lägg till rm N/A N/A uppdatera -j begå ta bort [sedan] uppdatera N/A N/A
CVSNT i det N/A N/A N/A N/A kolla upp uppdatering redigera Lägg till rm Döp om N/A uppdatera -j begå uppdatera -C N/A N/A
darcs i det klona dra skjuta på N/A klona dra Okänd Lägg till avlägsna flytta N/A dra tryck spela in återgå skicka -o rebas
Fossil ny / öppen klona dra skjuta på gren / begå --gren klona/öppna uppdatering N/A Lägg till rm/del mv/byt namn N/A sammanfoga begå återgå Fossils förråd är en enkel sqlite-fil i sig N/A
Git init / init --bare clone / clone --bar hämta skjuta på gren kolla upp dra N/A Lägg till rm mv cp [då] git add sammanfoga begå återställ --hårt bunt rebas
Mercurial i det klona dra skjuta på bokmärke uppdatera / upp / kassan / co dra -u N/A Lägg till ta bort / rm flytta / mv kopia / cp sammanfoga begå / ci återgå bunt rebas
Monoton i det klona dra skjuta på N/A kolla upp uppdatering Okänd Lägg till släppa Döp om N/A sammanfoga begå återgå N/A N/A
Perforce Helix Core p4 klient && p4 synk p4 synk p4 synk p4 lämna in Kräver migrering till den senaste strömningsfunktionen redigera synkronisera lås lås upp Lägg till radera flytta kopiera integrera Skicka in återgå Okänd N/A
Källkodskontrollsystem skapa N/A N/A N/A admin -fb hämta (skrivskyddat) / redigera hämta (skrivskyddat) / redigera N/A skapa N/A N/A N/A redigera -i delta få -r N/A redigera -i
Omstörtning svnadmin skapa svnadmin hotcopy [work-around]: svnadmin ladda [work-around]: svnadmin dump N/A kassan / co uppdatera / upp låsa Lägg till ta bort / ta bort / ta bort / rm flytta / mv / byta namn / ren kopia / cp sammanfoga begå / ci återgå N/A N/A
Surround SCM mkmainline N/A N/A N/A mkbranch kolla upp skaffa sig kolla upp Lägg till rm flytta N/A sammanfoga checka in voidcheckout N/A rebas
Vesta vskapa vrepl vrepl vrepl N/A vcheckout vadvance vcheckout [… sedan] vcheckin vrm mv [då] vcheckin cp [då] vcheckin vdiff vcheckin vcheckin -c 0 vmake [eller] vesta vadvance
Visual SourceSafe ? Okänd Okänd Okänd N/A Få senaste Få senaste Kolla upp Lägga till filer Radera ? Okänd ? Checka in Ångra utcheckning Okänd Okänd
programvara Repository init klona dra skjuta på Lokala filialer kolla upp uppdatering låsa Lägg till avlägsna flytta kopiera sammanfoga begå återgå generera paketfil rebas

Avancerade kommandon

Tabellförklaring

  • Kommandon i gröna rektanglar som inte är omgivna av [hakparenteser] finns vid en interaktiv kommandorad. Text inom [hakparenteser] är en förklaring av var man kan hitta motsvarande funktionalitet.
  • kommandoalias : skapa anpassade alias för specifika kommandon eller kombinationer därav
  • låsa/låsa upp : låser endast en fil för att förhindra att andra redigerar den
  • shelve/unshelve : lägg tillfälligt åt sidan delar av eller alla ändringar i arbetskatalogen
  • rollback : ta bort en patch/revision från historiken
  • körsbärsplockning : flytta bara några revisioner från en gren till en annan (istället för att slå samman grenarna)
  • bisect : binär sökning av källhistorik för en förändring som introducerade eller fixade en regression
  • inkommande/utgående : fråga efter skillnaderna mellan det lokala arkivet och ett fjärranslutet (de patchar som skulle hämtas/skickas på en pull/push)
  • grep : sök i arkivet efter linjer som matchar ett mönster
  • post : inkludera endast vissa ändringar av en fil i en commit och inte andra
programvara Kommandoalias Lås lås upp Hylla/avhylla Rulla tillbaka Körsbärsplockning Halvera Inkommande utgående Grep Spela in
AccuRev SCM Nej aktivera fillåsning Nej återgå / rensa främja Nej Nej Nej Okänd
Azure DevOps Ja lås lås upp hylla/avhylla rulla tillbaka sammanfoga Nej Okänd Okänd Nej
GNU-basaren [i filen '.bazaar/bazaar.conf'] Nej hylla/avhylla oengagerat sammanfoga (icke-spårning) bisect (bisect plugin) saknas --enbart-deras/saknas --endast mina grep (grep plugin) Nej
BitKeeper Okänd Okänd parkera/avparkera ångra Okänd halvera ändringar -R/-L grep Okänd
CVSNT [i '.cvsrc'-fil] redigera -x/unedit Nej admin -o ja kommentera Nej Nej Nej
Darcs Nej Nej återställa/återställa oregistrerat ja test --bisekt dra/trycka --torkköra Nej spela in
Fossil Nej Nej stash pop/stash gäller sammanfoga --rollback sammanfoga --cherrypick halvera Nej Sök Nej
Git [i '.gitconfig'-fil] Nej stash/stash pop återställ HEAD^ körsbärsplocka halvera körsbär grep lägga till -s
Mercurial [i '.hgrc'-fil] Nej hylla/avhylla (buntad förlängning) remsa (buntad förlängning) graft (kärna) eller transplantation (buntad förlängning) halvera inkommande utgående grep begå --interaktiv
Monoton [i monotonerc] Nej Nej kill_rev_locally plocka halvera Nej Nej Okänd
Perforce Helix Core via mäklare lås lås upp hylla/avhylla utplåna integ Okänd växlar grep Okänd
Omstörtning Nej lås lås upp hylla/avhylla Nej svnsamman körsbärsplockning Tredje parts verktyg status -u Nej Nej
Surround SCM Nej kolla upp hylla rulla tillbaka dubbla ändringar Nej diff Sök Nej
programvara Kommandoalias Lås lås upp Hylla/avhylla Rulla tillbaka Körsbärsplockning Halvera Inkommande utgående Grep Spela in

Användargränssnitt

Tabellförklaring

  • Programvara : Namnet på applikationen som beskrivs.
  • Webbgränssnitt : Beskriver om programvaran innehåller ett webbgränssnitt. Ett webbgränssnitt kan tillåta programvaran att lägga upp diagnostikdata till en webbplats, eller kan till och med tillåta fjärrkontroll av programvaran.
  • GUI : Ett GUI är ett grafiskt användargränssnitt. Om en mjukvaruprodukt har ett grafiskt användargränssnitt kan dess funktionalitet nås genom applikationsfönster i motsats till åtkomst till funktionalitet baserat på att skriva kommandon vid kommandotolken, såsom ett DOS-gränssnitt.
  • Plugin-program : funktionalitet är tillgänglig via en integrerad utvecklingsmiljö. Minsta funktionalitet bör vara att lista revisionstillståndet för en fil och checka in/checka ut filer.
programvara Webbgränssnitt Fristående GUI Integration och/eller plugins för IDE
AccuRev SCM Ja Windows (inkl. Explorer-integration) , Linux , Unix , macOS , BeOS tillgängliga IntelliJ IDEA , Eclipse , Visual Studio
Azure DevOps ingår (SharePoint Server används för webbtjänster) Fönster ingår; macOS, Unix tillgängliga Visuell Studio. Java-klient för Eclipse IDE och IntelliJ IDEA (standard i Ultimate Edition)
GNU-basaren kan använda en vanlig webbserver Olive, bzr-gtk ( GTK+ ), Bazaar Explorer ( Qt ), QBzr ( Qt ), TortoiseBzr (Windows) Eclipse (BzrEclipse, QBzrEclipse), Visual Studio (bzr-visualstudio), TextMate (TextMateBundle), Komodo IDE , WingIDE
BitKeeper ingår ingår (bkd) Okänd
CA Software Change Manager ingår Eclipse-baserat GUI Eclipse , MS Visual Studio
ClearCase ingår, Clearcase webbgränssnitt äldre: MS Windows-native, motivbaserat GUI för Unix-liknande system, TSO- klient för z/OS . Emacs , Eclipse ( IBM Proprietary, Eclipse-CCase ), Visual Studio (IBM proprietary), KDevelop (standard?), IntelliJ IDEA (standard i Ultimate Edition)
Kod Co-op Inte nödvändigt eftersom hela projektet replikeras lokalt Windows Okänd
CVS cvsweb, ViewVC , andra TortoiseCVS (Windows Explorer), TkCVS ( Tcl / Tk ), WinCVS , macOS, GTK , Qt tillgänglig Eclipse (Team), KDevelop (standard), IntelliJ IDEA (standard i Community och Ultimate Editions), Emacs (standard VC), Komodo IDE , BBEdit , WingIDE
CVSNT cvsweb, ViewVC , andra Windows, macOS, OS/400 , GTK , Qt tillgängliga Alla de som stöder CVS, plus kommersiella plugins för SCCI, Bugzilla, Build
darcs darcs.cgi ingår; darcsweb, Trac under utveckling; TortoiseDarcs (Windows Explorer), macOS (alfa), Eclipse (eclipsedarcs), Emacs (vc-darcs.el)
Mått CM Ja Windows (inkl. explorer integration) Eclipse , Visual Studio , IntelliJ IDEA , XCode , Powerbuilder
Fossil Inbäddad webbserver ingår (ui/server-läge), möjlighet att köra flera arkiv via CGI-läge bränsle-scm Okänd
Git Gitweb, wit, cgit, GitLab , GitHub , gitorious , Trac , Kallithea , Bitbucket , Stash, Springloops , Bonobo Git Server, Gitea , Gogs gitk, git-gui ( Tcl / Tk ), tig, Gitbox (macOS), TortoiseGit , qgit, gitg (GNOME/GTK), (h)gct (Qt), git-cola (Qt), Git Extensions (Windows), GitEye, SmartGit/Hg, Tower, SourceTree (macOS/Windows), Sprout (macOS), GitX (macOS), GitUp (macOS), GitKraken , Sublime Merge Aptana 3 Beta (Aptana Studio 3 med Git-integration); Atom ; Eclipse (JGit/EGit); Helix TeamHub ; Netbeans (NbGit); KDevelop ; Visual Studio (Git Extensions); Emacs (tillägg för standard VC); SAP Web IDE; TextMate (Git TextMate Bundle); Vim (VCSCommand-plugin och fugitive plugin); IntelliJ IDEA >8.1 (standard i Community och Ultimate Editions); Komodo IDE ; Anjuta ; XCode , WingIDE ; PyCharm
GNU båge ArchZoom ArchWay ( GTK2 ), TlaLog Emacs (standard VC)
IC Hantera ingår Windows, Linux, Unix, macOS Emacs, Cadence Design Framework, Synopsys Custom Designer
MKS Integritet Ja Windows, Linux, Unix, Solaris, AIX, Eclipse, Microsoft Visual Studio, Perforce och andra. Ger även stöd för industristandardens Source Code Control (SCC)-gränssnitt
Mercurial ingår, Trac , Kallithea Hgk (Tcl/Tk), (h)gct (Qt), TortoiseHg (Windows Explorer, Nautilus), MacHg,

MacMercurial, Murky, SourceTree (Windows/macOS), TortoiseHg, SmartGit/Hg

IntelliJ IDEA (hg4idea 3:e parts plugin), Eclipse (Mercurial Eclipse), NetBeans, Visual Studio 2008, Emacs , Vim (VCSCommand plugin), Komodo IDE , Eric Python IDE , WingIDE
Monoton ViewMTN, TracMonotone, Monotone-Viz ( GTK+ ), Guitone ( Qt ), Monotone Browser ( GTK+ , Perl ) Okänd
Perforce Helix Core ingår, P4Web, P4FTP Windows, Linux, Mac macOS Eclipse , Visual Studio , Matlab ; Spelmotorer: Unity , Unreal , Amazon Lumberyard ; Grafik: Autodesk Maya , 3ds max , Adobe PS
Rational Team Konsert Ja Eclipse-baserat GUI Eclipse integration; MS Visual Studio-integration (begränsad)
StarTeam ingår Windows, Java , Eclipse, Visual Studio, BDS2006-integrering, plus Java-kommandorad IntelliJ IDEA (standard i Ultimate Edition), Visual Studio, JBuilder, Eclipse
Omstörtning Apache 2-modul ingår, WebSVN, ViewSVN, ViewVC , Trac , SharpForge, sventon, Springloops Java, KDESVN, macOS (inklusive Finder-integration), Nautilus, Qt, RabbitVCS , RapidSVN , SourceTree (macOS), TortoiseSVN (Windows Explorer) Anjuta , BBEdit , Eclipse (Subclipse, Subversive), Emacs (standard VC), IntelliJ IDEA (standard i Community och Ultimate Editions), KDevelop (standard), Komodo IDE , MonoDevelop (standard), Netbeans, RabbitVCS (för GEdit), TextMate (SVNMate-plugin), Visual Studio ( AnkhSVN , VisualSVN ), WingIDE . Se även Jämförelse av Subversion-klienter
Surround SCM Ja Windows, macOS, Linux Eclipse , IntelliJ IDEA , JDeveloper , NetBeans , Visual Studio , WebStorm
Synergi via Telelogic Change-gränssnittet Windows (inkl. explorer integration), Linux, Unix Eclipse (ägd Telelogic), Visual Studio (ägd Telelogic), IntelliJ IDEA (ägd Telelogic)
Valv ingår Windows, Unix-liknande, macOS Visual Studio 2003 och senare, Eclipse 3.2 och senare
Vesta VestaWeb Nej Nej
Visual SourceSafe ingen ingår; SSWI, VSS Remoting Fönster ingår; Linux, macOS och Solaris med SourceOffSite; valfri Java VM som använder Sourceanywhere för VSS Visual Studio, IntelliJ IDEA (standard i Ultimate Edition)
programvara Webbgränssnitt Fristående GUI Integration och/eller plug-ins för IDE

Historia och adoption

Tabellförklaring

  • Programvara : Namnet på applikationen som beskrivs.
  • Historik : beskriver kort programvarans ursprung och utveckling.
  • Anmärkningsvärda användare : är en lista över välkända projekt som använder programvaran som sitt primära revisionskontrollsystem, exklusive själva programvaran, följt av en länk till en fullständig lista om tillgänglig.
programvara Historia Anmärkningsvärda användare
AccuRev SCM Första gången offentligt släpptes 2002 American Airlines , Ford , Lockheed Martin , Orbitz , Xerox , McAfee , Polycom , SanDisk , Siemens , Sony , Symantec , Thomson Financial , Verizon Wireless och många andra
Azure DevOps Server Först offentligt släppt i mars 2006 som Visual Studio Team System, bytt namn till Team Foundation Server 2010 och Azure DevOps Server 2019. Microsoft
Azure DevOps Services Först offentligt släppt 2012 som Team Foundation Service, bytt namn till Visual Studio Online 2013, Visual Studio Team Services 2015 och Azure DevOps 2018. Microsoft
GNU-basaren Initial release 26 mars 2005. Löst relaterad till baz . Sponsras av Canonical Ltd. Ubuntu , Launchpad , KatchTV,
BitKeeper Initial release 4 maj 2000. Influerad av Sun WorkShop TeamWare Linux Kernel (2002–2005) och många företag
CA Software Change Manager Ursprungligt företag grundat 1977; CA SCM (som då kallades CCC/Harvest) släpptes först 1995. CA lämnar inte ut kundlistor utan företagens tillstånd. CA SCM används av företag med globala utvecklingsteam inklusive 13 av Fortune 100.
ClearCase Utvecklad med början 1990 av Atria Software, efter koncept som utvecklades av Apollo Computer i DSEE under 1980-talet. Den senaste versionen är 9.0.0, släppt i mars 2016. IBM , Alcatel-Lucent , Cisco , Motorola , Siemens , Ericsson , Nokia , Society for Worldwide Interbank Financial Telecommunication och andra stora organisationer över hela världen [ citat behövs ]
Kod Co-op Den första distribuerade VCS, demonstrerade 1997, släpptes strax efter.
CVS Först offentligt släppt 3 juli 1986; baserat på RCS NetBSD , OpenBSD , Guerrilla Games
CVSNT Först offentligt släppt 1998; baserat på CVS . Startat av CVS- utvecklare med målet att lägga till stöd för ett bredare utbud av utvecklingsmetoder och processer. Främst yrkesverksamma (inte hobbyister), t.ex.: AnandTech, Wachovia, Wells Fargo, Goldman Sachs
darcs Tillkännagav först den 9 april 2003 Mnet , xmonad , projekt som använder Darcs
Mått CM Utvecklad av SQL Software under namnet "PCMS Dimensions" under slutet av 1980-talet (PCMS står för Product Configuration Management). Genom ett antal företagsförvärv släpptes produkten under namnen "PVCS Dimensions" (1990-talet, Intersolv), "Dimensions" (tidigt 2000-tal, Merant), "ChangeMan Dimensions" (2004, Serena Software) och slutligen "Dimensions CM" ( sedan 2007 ) , Serena Software ). Lockheed Martin , European Space Agency , Fujitsu Business Communication Systems och många företag över hela världen
Fossil Fossil och SQLite har använt Fossil sedan 21 juli 2007. SQLite , Tcl/Tk-projekt
Git Startades av Linus Torvalds i april 2005, efter BitKeeper- kontroversen. Linuxkärna , Android , OpenJDK , Bugzilla , DragonFly BSD , GNOME , GNU Emacs , GRUB2 , KDE , MySQL , Perl 5 , PostgreSQL , X.Org , Cairo , Qt Development Frameworks , Samba , OpenEmbedded , på Ramby , Ruby , WinEmbedded Ruby , Win Fluxbox , Openbox , Compiz Fusion , XCB , ELinks , XMMS2 , e2fsprogs , GNU Core Utilities , DokuWiki , Drupal , LibreOffice , MediaWiki , Mono , ASP.NET MVC , ADO.NET Entity Framework , NuV jQuGet och många av dess plugins , NuVyQuGet , , Wireshark , Django , många företag som Ericsson, Microsoft, Huawei, Apple, Amazon, LG
GNU båge Startades av Tom Lord 2001 och blev senare en del av GNU -projektet. Lord avgick som underhållare i augusti 2005. tillgänglig för GNU Savannah och Gna.org -projekt
IC Hantera Utvecklat av IC Manage, Inc som grundades 2003 av Shiv Sikand och Dean Drako. många organisationer över hela världen
PTC-integritet Ursprungligen utvecklad av MKS Software. Inköpt av PTC i maj 2011 Många globala ingenjörs- och IT-organisationer
Mercurial Startade 6 april 2005 av Matt Mackall, efter BitKeeper- kontroversen. Första gången släpptes den 19 april 2005 Python , Mozilla , NetBeans , Xine , Xen , OpenSolaris , wmii , MoinMoin , Linux-HA , Pidgin , Gajim , Nginx , PyPy , SDL , Facebook , Google (som ett användargränssnitt ovanpå Piper)
Monoton Första gången släpptes i april 2003 CTWM , I2P , Botan
Perforce Helix Core Utvecklat av Perforce Software, Inc som grundades 1995 av Christopher Seiwald. FreeBSD , Scania AB , Rocksteady Studios , Sega
Rational Team Konsert Version 1.0 släpptes i juni 2008 IBM
Revisionskontrollsystem juli 1985 RCS ersätts i allmänhet (men inte alltid) av andra system som CVS , som började som ett omslag ovanpå RCS.
Källkodskontrollsystem Startades av Marc Rochkind 1972 (binära historikfiler, skrivna i Snobol på IBM-370, SCCSv4 med texthistorikfiler publicerades 18 februari 1977. Samma historikfilformat används fortfarande i SCCS 5.0. som POSIX källkontrollverktyg är SCCS allmänt tillgängligt på UNIX -plattformar, men ingår inte i många Linux-distributioner. Sun WorkShop TeamWare använder SCCS-filer.
StarTeam Version 1.0 1995; Utvecklad av StarBase mjukvara, förvärvad av Borland (som förvärvades av Micro Focus). Borland, BT, Cintas, EDS, Kaiser Permanente, Met Office, Quest Software, Raymond James, Siemens och många fler globalt distribuerade företag
Apache Subversion Startades 2000 av CVS- utvecklare med målet att ersätta CVS ASF , Blendo Games , BRL-CAD , clang , gcc , SourceForge , FreeBSD , Google Code , KDE ( till 2011), PuTTY , Zope , Xiph , GnuPG , CUPS , Apache OpenOffice , TWiki , WebKit , tillgängligt på CodePlex över hela världen
Synergi Utvecklad med början 1988 av Caseware, som AmplifyControl. Företaget döptes om till Continuus 1994, där produkten blev mer känd som Continuus/CM. Continuus förvärvades av Telelogic 1999 kort efter börsnoteringen; produkten döptes om till Telelogic Synergy. IBM förvärvade Telelogic 2008 för integration i deras Rational-verktygssvit. Produkten är nu känd som IBM Rational Synergy. Hewitt Associates
Valv Första gången publicerades i februari 2003 Okänd
Vesta Först offentligt släppt under LGPL 2001 DEC Alpha-team, Compaq Alpha-team, Intels mikroprocessorutveckling
Visual SourceSafe ursprungligen skapad av ett företag som heter One Tree Software, version 3.1. Företaget köptes av Microsoft som släppte version 4.0 av VSS runt 1995 Interplay Entertainment , Mucky Foot Productions , id-programvara
programvara Historia Anmärkningsvärda användare

Se även

Anteckningar

externa länkar