Tarkistuksen hallinta

Ohjelmistokehitysprosessissa tarkistuksen hallinta , tunnetaan myös versionhallinta tai lähteen hallinta , on ajan myötä tehtyjen muutosten hallinta. Nämä muutokset voivat olla lähdekoodi , projektivaroja tai muuta lopputuotteeseen menevää tietoa. Se antaa monille ihmisille mahdollisuuden työskennellä samoissa projektin osissa huolimatta siitä, että heidän muutokset korvaavat kenenkään muun työn. Tarkistusten ja niiden kokoelma metatiedot kutsutaan a arkisto tai repo . Arkisto edustaa vaiheittaista kronologista kirjaa kaikista muutoksista, jotka on tehty auttaakseen projektipäälliköitä palauttamaan projektin kokonaan tai osittain edelliseen tilaan tarvittaessa.

miten avaan Internet Explorer

Kuinka korjaukset tehdään

Versiohallintajärjestelmiä isännöidään yleensä verkossa palvelin . Kun arkisto on perustettu, sen käyttäminen edellyttää yleensä seuraavia vaiheita:



  1. Jos kehittäjä on luonut uuden tiedoston, josta pitäisi tulla osa projektia, tiedoston on oltava lisätty arkistoon. Tiedosto on ladattu arkistoon, ja kaikki muut projektin parissa työskentelevät voivat nähdä tiedoston ja käyttää sitä.
  2. Jos kehittäjä haluaa muokata tiedostoa, joka on jo osa projektia, tiedoston on oltava Tarkastettu . Tarkastustoiminta lataukset haluttu tiedoston päivitys projektin kehittäjän paikalliseen versioon. Yleensä versio, jota kehittäjä haluaa muokata, on viimeisin versio: tämä versio tunnetaan nimellä 'pää'.
  3. Kun kehittäjä on muokannut tiedostoa paikallisesti ja on valmis lisäämään sen projektin viralliseen versioon, tiedosto voi olla kirjautunut sisään . Tämä toiminta tunnetaan myös nimellä a tehdä . Kehittäjää pyydetään kirjoittamaan yhteenveto muutoksista ja miksi. Nämä kommentit ja tiedoston päivitetty versio lähetetään arkistoon.
  4. Jos joku muu on tarkistanut saman tiedoston tarkistukset edellisen kehittäjän tarkistuksen jälkeen, järjestelmä ilmoittaa ristiriidoista. Se laskee erot rivi riviltä, ​​ja muutosten tehneiden kehittäjien on sovittava siitä, miten heidän yksittäisten muutostensa tulisi olla yhdistetty . Yhdistäminen tapahtuu yleensä manuaalisesti: kehittäjät vertaavat ristiriitaisia ​​versioita ja päättävät, miten ne voidaan ratkaista yhdeksi dokumentiksi.
  5. Jos ristiriitoja ei ole, uusi versio päivitetään arkistoon ja koko projekti saa uuden version numero , tunnistamalla pysyvästi ja ainutlaatuisesti sen nykyisen tilan.

Kehityspuun haarautuminen

Kokeellisia muutoksia tehdään usein ohjelmistoprojektin pääversioon. Tarkistusten hallinnan avulla nämä muutokset voidaan tehdä erillisestä kopiosta projektista häiritsemättä pääversiota. Tämän lähestymistavan terminologiassa käytetään puun metaforaa: projektin pääversiota kutsutaan tavaratila ja kokeelliset versiot tunnetaan nimellä oksat .

Keskitetyt vs. hajautetut järjestelmät

Jos versionhallintajärjestelmät käyttävät keskitettyä arkistoa, sen tiedot sisältyvät yhteen tietokantaan, joka sisältää kaikkien projektitiedostojen aito version. Muut järjestelmät käyttävät a hajautettu malli. Näissä järjestelmissä muutokset voidaan tarkistaa ja synkronoida sitten arkistojen välillä.

Luettelo versionhallintaohjelmistosta

Ohjelmiston nimi Yhteenveto Verkkosivusto
Aegis Käytetään TDD: hen (testiohjattu kehitys). Jokaiseen muutokseen vaaditaan yksi tai useampia testejä, joiden osoitetaan epäonnistuvan, kun ne suoritetaan tällä hetkellä sisäänkirjautuneen koodin kanssa, ja läpäisevät, kun ne suoritetaan vasta vaihdettua koodia vastaan. Toimii erillisen versionhallintajärjestelmän, yleensä RCS tai SCSS, päällä. Vapaa, avoin lähdekoodi ja lisensoitu GPL: n nojalla. Aegis
ARX Hajautettu versionhallintajärjestelmä, joka alkoi GNU Archin haarukana. Kehitetty ensisijaisesti vuosina 2003-2005. ARX
Autodesk Vault Erikoistunut versionhallintajärjestelmä erilaisille Autodesk CAD-ohjelmistotuotteet, kuten Autodesk Inventor Professional, AutoCAD Mechanical, AutoCAD Electrical ja Autodesk Revit. Antaa suunnittelijoiden käyttää uudelleen aikaisempia malleja alusta alkaen, ja käyttää monimutkaisia 3D kaaviot mistä tahansa suunnitteluprosessin kohdasta. Autodesk Vault
Azure DevOps -palvelin Microsoftin kehittämä ohjelmisto ja järjestelmäpaketti, joka tarjoaa lähdekoodien hallinnan ja yhteistyövälineet ohjelmistokehitykseen. Azure DevOps Server tarjoaa myös sovelluksia, jotka helpottavat projektiraportointia, automatisoituja koontiversioita, laboratorionhallintaa, testausta ja julkaisujen hallintaa. Suunniteltu integroimaan useimpiin IDE- tai muokkaustyökaluihin. Azure DevOps -palvelin
Basaari Hajautettu versionhallintajärjestelmä, joka tunnetaan myös nimellä GNU-basaari . Sen kehitystä tukee Canonical, joka kehittää myös Ubuntun Linux jakelu. Toimii Linuxilla, OS X: llä ja Windows . Helpottaa työskentelyä muiden järjestelmien, kuten CVS, Subversion, Git, Mercurial, Darcs ja Perforce, arkistojen kanssa. Basaari
BitKeeper Oma ohjelmisto, jota käytetään hallitsemaan Linux-ytimen kehitystä vuosina 2002-2005. Saatavana monille käyttöjärjestelmille, mukaan lukien AIX, BSD , HP-UX, IRIX, Solaris, Linux ja Microsoft Windows. BitKeeper
Code Co-op Versiohallintajärjestelmä, joka käyttää vertaisviestintää synkronoimaan ja hallitsemaan versioita keskitetyn palvelimen sijaan. Tukee sitoumuksia mennessä sähköposti . Toimii Microsoft Windowsissa. Code Co-op
Samanaikaiset versiot Kehitettiin ensimmäisen kerran vuonna 1986 , CVS on kunnioitettava ja vaikutusvaltainen versionhallintajärjestelmä, joka päivitettiin viimeksi vuonna 2008. Vaikka sitä käytetään edelleen pienempiin projekteihin, CVS: llä ei ole monia nykyaikaisen versionhallinnan ominaisuuksia, jotka ovat ratkaisevan tärkeitä laajamittaisen ammatillisen ohjelmistokehityksen kannalta. CVS-muunnelmat sisältävät CVSNT , joka tukee kirjainkoon erottelua tiedostojen nimet ja OpenCVS joka käyttää vahvempia suojausmenetelmiä. Samanaikaiset versiot
Darcs Hajautettu järjestelmä, jonka Haskell-ohjelmointikieli on kirjoittanut ja johon se on vaikuttanut voimakkaasti. Tukee sitoumuksia sähköpostitse. Toimii Unix-, Linux-, BSD-, OS X- ja Microsoft Windows -järjestelmissä. Avoin lähdekoodi ja lisensoitu GPL: n nojalla. Darcs
Fossiilisia Kattava hallintajärjestelmä, joka sisältää hajautetun versionhallinnan, vikaseurannan ja yhteistyöhön perustuvan wikiohjelmiston. Sisältää selainpohjaisen käyttöliittymän ja komentorivityökalut. Toimii Linuxissa, BSD: ssä, OS X: ssä ja Windowsissa. Ilmainen, avoimen lähdekoodin ja julkaistu BSD-ohjelmistolisenssillä. Fossiilisia
Mennä Hajautettu versionhallintajärjestelmä, jonka Linus Torvalds on suunnitellut ja toteuttanut käytettäväksi Linux-ytimen kehittämisessä. Ensimmäinen julkaisu vuonna 2005, Git on nyt maailman yleisimmin käytetty versionhallintajärjestelmä. Ohjelmisto on ilmainen, avoimen lähdekoodin ja julkaistu GPL: n alla. Mennä
GNU Arch Hajautettu versionhallintajärjestelmä, joka on kehitetty osana GNU Free Software Project -projektia. Se on edelleen käytössä, mutta kehitys rajoittuu tietoturvakorjauksiin. GNU Bazaar on suurelta osin syrjäyttänyt sen. GNU Arch
IBM Rational ClearCase Ohjelmistotyökalujen perhe, jonka on kehittänyt IBM joka sisältää ohjelmiston kokoonpanon hallinnan ja versionhallinnan. Se tukee kahta projektinhallintamallia: UCM (yhtenäinen muutosten hallinta) ja malli nimeltä Base ClearCase, joka mahdollistaa paremman kokoonpanon organisaation erityistarpeisiin. Se toimii AIX, HP-UX, Linux, zLinux, Solaris, z / OS ja Microsoft Windows. IBM Rational ClearCase
IBM: n järkevä synergia Ohjelmiston kokoonpanonhallintaohjelmisto, joka tarjoaa projektinhallintaominaisuudet, mukaan lukien versionhallinnan, kaikille kehityskohteille, mukaan lukien binaaritiedostot, kuten kuvat. Sisältää muutoksenhallintatyökalun nimeltä Rationaalinen muutos . Toimii AIX-, HP-UX-, Linux-, Solaris- ja Windows-käyttöjärjestelmissä. IBM: n järkevä synergia
IBM Rational Team -konsertti Ketterä ALM-ratkaisu (sovelluksen elinkaaren hallinta) IBM: ltä. Keskittyy korkean tason näkyvyyden hanketoimintoihin ja yksittäisten tiimien etenemiseen ketterien kehitysmenetelmien mukaisesti. IBM Rational Team -konsertti
IC-hallinta Kaupallinen suunnittelun tiedonhallintaohjelmisto, joka tarjoaa versionhallinnan ja vikaseurannan. Käytetään pääasiassa teollisuussuunnitteluprojekteihin, kuten NVIDIA GPU: t. IC-hallinta
LibreSource Yhteistoiminnallinen ohjelmistokehityksen hallintajärjestelmä, joka on suunniteltu erityisesti ilmaisia ​​ohjelmistoprojekteja, ryhmäohjelmia, yhteisöllistä vuorovaikutusta, sähköistä arkistointia ja verkkojulkaisua varten. Se on alustojen välinen ja toimii Javalla. LibreSource
Oikukas Hajautettu versionhallintajärjestelmä, joka on kehitetty avoimen lähdekoodin korvaavaksi BitKeeperille. Toimii Linuxissa, BSD: ssä, OS X: ssä ja Windowsissa. Oikukas
Yksisävyinen Vertaisversioiden hallintajärjestelmä, joka on samanlainen kuin GNU Arch, Subversion, Git ja Mercurial. Toimii Unixilla, Linuxilla, BSD: llä, OS X: llä ja Windowsilla. Ilmainen, avoin lähdekoodi ja lisensoitu GPL: n nojalla. Yksisävyinen
PTC: n eheys SSLM (ohjelmistojärjestelmän elinkaaren hallinta) -järjestelmä, joka tunnettiin aiemmin nimellä MKS: n eheys . Tarjoaa yhteistyöympäristön ensisijaisesti suunnitteluorganisaatioille. Se helpottaa versionhallintaa, vaatimusten hallintaa, teknisten muutosten hallintaa, rakennuksen hallintaa, testien hallintaa ja ohjelmistojen käyttöönottoa. Toimii kaikilla alustoilla, jotka tukevat Javaa. PTC: n eheys
Pakostakin Oma, kaupallinen versionhallintajärjestelmä, joka koostuu ensisijaisesta tietokannasta ja keskitetystä arkistosta. Tukee Git-asiakkaita ja omia. Laajennuksia on saatavana integroitaviksi Eclipseen, Visual Studioon ja IntelliJ IDEA: han. Pakostakin
Muovi SCM Oma, kaupallinen versionhallintatyökalu, joka tarjoaa mukautettuja käyttöliittymän hallinnan asiakkaita ja integroinnin Eclipseen, Visual Studioon ja IntelliJ IDEA: han. Toimii Linuxissa, OS X: ssä ja Microsoft Windowsissa. Muovi SCM
PVCS Versio-ohjausjärjestelmä Windows-, Linux- ja BSD-järjestelmille, tunnetaan myös nimellä Polytron-versionhallintajärjestelmä tai PVCS-versionhallinta . Tukee rinnakkaishistoriaa, jonka avulla useat käyttäjät voivat muokata samaa tiedostoa tarvitsematta yhdistää muutoksia sitoutumishetkellä. PVCS
Quma-versionhallintajärjestelmä Versio-ohjausjärjestelmä, joka tunnetaan myös nimellä QVCS , joka on alun perin kehitetty Amigaa varten vuonna 1998. Nykyään se toimii Microsoft Windowsissa, OS X: ssä ja Solarisissa. Sen koodipohja on kirjoitettu Java-kielellä.
RCS Kunnioitettava ja vaikutusvaltainen järjestelmä kehitettiin ensimmäisen kerran vuonna 1982, joka tunnetaan myös nimellä alkuperäinen Tarkistuksen hallintajärjestelmä . RCS
SCCS Varhaisen version ohjausjärjestelmä, joka tunnetaan myös nimellä Lähdekoodin ohjausjärjestelmä . Kehitetty SNOBOL-kielellä Bell Labsissa vuonna 1972, myöhemmin kirjoitettu uudelleen C UNIX: lle. UNIXin modernein versio sisältää edelleen SCCS-version. SCCS
SolidWorks Enterprise PDM Tiedonhallintajärjestelmä, joka tarjoaa oman sovellusliittymän parhaan konfiguroitavuuden luomiseksi mukautetun koodin avulla. Käytetään pääasiassa CAD-sovellusten varoihin ja tietoihin. Käy Windows 7 ja Windows 8 . SolidWorks Enterprise PDM
SourceAnywhere Kaupallinen, oma tuoteversioiden hallintajärjestelmä, joka ylläpitää Microsoftin keskustietovarastoa SQL Palvelin. Toimii Microsoft Windows -käyttöjärjestelmissä. SourceAnywhere
StarTeam Versiohallintajärjestelmä, joka keskittyy useiden kehitystiimien käytettävyyteen eri paikoissa. Se tukee Microsoft SQL Server ja Oraakkeli tietokanta sen arkistoon. Se toimii Windows-käyttöjärjestelmissä ja RHEL: ssä ( punainen hattu Enterprise Linux). StarTeam
Kumoaminen Alun perin suunniteltu CVS: n seuraajaksi, joka tunnetaan myös nimellä Apache Subversion tai SVN . Erittäin suosittu vapaiden ohjelmistoyhteisöjen keskuudessa ja myös suurten yritysohjelmistojen kehittämisessä. Täysin alustojen välinen, ilmainen ja avoin lähdekoodi, julkaistu Apache-lisenssillä. Kumoaminen
Sun WorkShop TeamWare Hajautettu versionhallintajärjestelmä, joka tunnetaan myös nimellä Vahva TeamWare ja Vahva koodinhallintaohjelmisto . Kehittänyt Sun Microsystems, jota käytetään Sunin suurimpien ohjelmistoprojektien, mukaan lukien Solaris ja Java, kehittämiseen. Sun WorkShop TeamWare
Holvi Kaupallinen, oma tuoteversioiden hallintajärjestelmä, joka on tarkoitettu korvaavaksi vaihtoehdoksi Microsoftin Visual Source Safe -sovellukselle. Rakennettu Microsoft .NET-verkkoon ja käyttää Microsoft SQL Server -palvelinta. Toimii useimmissa Windows-versioissa. Holvi
Todenmukaisuus Hajautettu versionhallintajärjestelmä, joka tarjoaa myös vikaseurannan ja koontiversioiden hallinnan ketterille kehitystiimeille. Ilmainen ja avoin lähdekoodi, julkaistu Apache-lisenssillä. Todenmukaisuus
Vesta Alun perin DEC: n kehittämä ohjelmistokokoonpanon hallintatyökalu, joka lopulta julkaistiin avoimen lähdekoodin ohjelmistona GPL: n alla. Tärkeimpiä ominaisuuksia ovat taattu rakennuksen toistettavuus, automaattinen riippuvuuden tunnistus ja jaettu koontiversio kätkö jonka avulla kehittäjät voivat käyttää uudelleen aiempia koontiversioita. Vesta
Visual SourceSafe Microsoftin julkaisema lähdeohjausohjelmistopaketti, jolla on suuri vaikutus sen laajan käyttöönoton ansiosta. Lopetettiin vuonna 2005 sen vakautta koskevan laajan kritiikin jälkeen. Visual SourceSafe