Mainos

versionhallintaohjelmistoVerkkosuunnittelijoina olemme yleensä työskennelleet paikallisilla kehittämissivustoilla, sitten lataamme kaiken, kun olemme valmiita. Tämä on hienoa, kun kyse on vain sinusta ja muutokset ovat pieniä, mutta kun kyseessä on useampi kuin yksi henkilö, joka työskentelee jotain tai laajassa projektissa, jossa on paljon monimutkaisia ​​komponentteja, se ei yksinkertaisesti ole mahdollinen. Silloin siirrymme jotain nimeltä versionhallinta.

Tänään puhun avoimen lähdekoodin versionhallintaohjelmasta nimeltä Git. Tämän avulla useampi kuin yksi henkilö voi työskennellä turvallisesti samassa projektissa häiritsemättä toisiaan, mutta se on myös paljon enemmän.

Miksi käyttää versionhallintaohjelmistoa?

Ensinnäkin nimen pitäisi antaa se pois. Versionhallintaohjelmisto mahdollistaa projektin ”versioiden”, jotka osoittavat koodiin ajan myötä tehdyt muutokset, ja mahdollistavat tarvittaessa peruuntumisen ja kumoavat muutokset. Pelkästään tämän kyvyn avulla - vertailla kahta versiota tai kääntää muutoksia - tehdään siitä melko korvaamaton työskennellessään suurissa projekteissa.

instagram viewer

Olet todennäköisesti jopa tehnyt tämän jossain vaiheessa, tallentamalla kopioita projektista eri kohtiin, jotta sinulla on varmuuskopio. Versioiden hallintajärjestelmässä vain muutokset tallennetaan - korjaustiedosto, jota voidaan käyttää yhteen versioon, jotta siitä tulisi sama kuin seuraavaan versioon. Yhden kehittäjän kanssa tämä riittää.

Mutta entä jos projektissa työskentelee useampi kuin yksi kehittäjä? Silloin tulee idea keskitetystä versionhallintapalvelimesta. Nämä ovat olleet vakiona jo pitkään, jolloin kaikki versiot tallennetaan keskuspalvelimelle ja yksittäiset kehittäjät tarkistavat ja lataavat muutokset takaisin tähän palvelimeen. Jos olet koskaan tarkastellut Wikipedia-sivun muokkaushistoriaa, sinulla on hyvä käsitys siitä, kuinka tämä toimii todellisessa tilanteessa:

versionhallintaohjelmisto

Tämänkaltaisen järjestelmän etuna on, että useat kehittäjät voivat tehdä muutoksia, ja jokainen muutos voidaan sitten antaa tietylle kehittäjälle. Haittapuoli: se, että kaikki on tallennettu etätietokantaan, tarkoittaa, että mitään muutoksia ei voida tehdä, kun kyseinen palvelin menee alas; ja jos keskitietokanta katoaa, jokaisella asiakkaalla on vain nykyinen versio siitä, mitä he työskentelivät.

Se vie meidät Gitille ja muille ns hajautetut versionhallintajärjestelmät. Näissä järjestelmissä asiakkaat eivät vain tarkista tiedostojen nykyistä versiota ja työskentele niistä - he heijastavat koko version historiaa. Jokaisella kehittäjällä on aina täydellinen kopio kaikesta. Keskuspalvelinta käytetään edelleen, mutta jos pahinta tapahtuu, kaikki voidaan palauttaa miltä tahansa asiakkaalta, jolla on uusimmat versiot.

Git toimii erityisesti ottamalla "valokuvia" tiedostoista; Jos tiedostot pysyvät muuttumattomina tietyssä versiossa, se linkittää vain aiempiin tiedostoihin - tämä pitää kaiken nopeana ja nopeana.

Voi myös kiinnostaa sinua oppimaan, että Gitillä on tarkoitus hallita ja kehittää ydin Linux-ydin - perusrakenne, johon kaikki linux-distrossa on rakennettu.

versionhallinta

Mikä on Github?

Vaikka voit käyttää omaa Git-palvelintasi paikallisesti, GitHub on sekä etäpalvelin, kehittäjien yhteisö että graafinen web-käyttöliittymä Git-projektisi hallintaan. Se on ilmainen käyttö korkeintaan viidelle julkiselle arkistolle - ts. Kun kuka tahansa voi tarkastella tai hahmottaa koodiasi - edullisten suunnitelmien kanssa yksityisiin hankkeisiin. Suosittelen, että kirjaudut ilmaiseksi tilille, jotta voit alkaa pelata omien projektien kanssa tai haastaa joku muu.

versionhallinta

Haarukka ja haarautuminen

Nämä ovat Git-kokemuksen ydinkonsepteja, joten selitetään ero.

Olet todennäköisesti kuullut teoksen ”haarukka” käsitellessäsi linux-distroita. Jos tunnet mediakeskussovelluksen Plexin, tiedät, että se oli alun perin samanlaisen avoimen lähdekoodin haarukka Xbox Media Center Aeon Nox 3.5: Kaunis ja muokattava teema XBMC: lleAsenna mediakeskus juuri haluamallasi tavalla. Aeon Nox 3.5 on viimeisin versio siitä, mikä on ehkä paras teema XBMC: lle, ja se on harvinainen yhdistelmä: kaunis ... Lue lisää . Tämä tarkoittaa yksinkertaisesti, että jossain menneisyydessä jotkut kehittäjät ottivat XBMC: n koodin ja päättivät mennä omalla tavallaan sen kanssa; siitä tuli Plex.

Tämä on tietysti täysin sallittua, kun projekti on avoimen lähdekoodin tapa - voit ottaa koodin, tehdä sen kanssa mitä haluat. Gitin kanssa, jos sinusta tuntuu, että muutoksesi ovat tarpeeksi hyviä, jotta sinut voidaan viedä takaisin "master" -projektiin, sinä voi tehdä vetopyynnön kirjoittajalle ja pyytää heitä vetämään muutokset takaisin alkuperäisiin projekti. Tämä antaa sinulle mahdollisuuden, että sadat tuhannet kehittäjät työskentelevät projektin parissa missä tahansa vaiheessa, joista kenenkään ei tarvitse ne on välttämättä hyväksyttävä koodin käyttöoikeuksille - he vain kopioivat koodin, tekevät muutoksia ja pyytävät palautusta hallita. Alkuperäisen projektin omistaja voi tietysti päättää, hyväksyykö muutokset vai ei.

Haaroittuminen on jotain, joka tehdään valtuutettujen kehittäjien tekemässä projektissa. Sen avulla voit helposti erottaa tietyt ongelmat tai ominaisuudet ja työskennellä niiden kanssa rikkomatta päätiedostoja. Kun olet vakuuttunut siitä, että haarasi on käsitellyt asian, yhdistät sen takaisin isäntään. Missä tahansa vaiheessa voi olla niin monta haaraa kuin haluat; ne eivät häiritse toisiaan. Voit myös yhdistää muutokset haarojen välillä koskettamatta pääkäyttäjää.

Tässä on loistava kaavio esimerkistä työnkulusta Vincent Driessen:

versionhallintaohjelmisto

Seuraavan kerran tarkastelemme, kuinka luoda toimiva Git-esimerkki ja tehdä koodimuutoksia oksien sisällä. Versioiden hallinta on valtava aihe. Olen antanut täällä vain lyhyimman yleiskuvan, mutta kehittäjänä, joka on tottunut vain tekemään muutoksia ja kumoamaan ne, jos ne eivät toimi, koko konsepti on puhallut mieleeni - toivottavasti se tapahtuu myös sinun.

Oletko kokenut kehittäjä, jolla on kokemusta Gitistä? Oletko vasta aloittamassa ja luulet haluavasi mennä? Kuuntele kommentteja!

Jamesilla on teknisen älykunnan kandidaatin tutkinto ja hän on CompTIA A + ja Network + -sertifioitu. Hän on MakeUseOfin johtava kehittäjä ja viettää vapaa-aikansa pelaamalla VR-paintballia ja lautapelejä. Hän on rakennettu tietokoneita lapsuudestaan ​​asti.