Haluaisin tietää, miten hersionhallinta toimii. Eli siis jos teen koneellani nettisivut, niin laitanko versionhallintaan koko XAMPPin vai pelkästään html, css, js, php ja mediatiedostot? Vai laitetaanko siihen myös esimerkiksi Joomla!-CMS:n ja Drupalin? Ja jos siirrän kotikoneeltani nettisivut palvelimelle, niin tuleeko palvelimella olla oma versionhallinta?
Jaska kirjoitti:
Haluaisin tietää, miten hersionhallinta toimii. Eli siis jos teen koneellani nettisivut, niin laitanko versionhallintaan koko XAMPPin vai pelkästään html, css, js, php ja mediatiedostot?
Versionhallintaan laitetaan ne tiedostot joita on tarkoitus muokata ja joista siis ajan myötä muokkausten mukaan tulee uusia versioita. Eli tässä tapauksessa nettisivuihin liittyvät css, js, php ja mediatiedostot.
Jaska kirjoitti:
Vai laitetaanko siihen myös esimerkiksi Joomla!-CMS:n ja Drupalin? Ja jos siirrän kotikoneeltani nettisivut palvelimelle, niin tuleeko palvelimella olla oma versionhallinta?
Palvelimella ei ole pakko olla versionhallintaa. Se voi kylläkin tietyssä tapauksissa helpottaa asiaa, jos repository on toiminnassa niin että siihen pääsee käsiksi myös palvelimelta, voidaan sieltä suoraan päivittää versionhallinasta uudet versiot kun muutoksia on. Tiedostot voi siltikin siirtää ihan perinteiseen tapaan "käsin".
Periaatteessa sinne voi tuupata koko tauhkan, eli myös joomlan tiedostot. Ekalla kerralla vie tietysti paljon aikaa kun siirtää kaikki tiedostot, mutta myöhemminhän ei päivity muuta kuin ne tiedostot joita on muokattu. Etuna on, että pystyy ottaa esim. uudelle koneelle täydellisen checkoutin, eikä tarvi miettiä että mikä versio käytössä yms.
Mutta esim. xamppia ei sinne kannata siirtää. Pelkästään yksittäinen projekti.
Versionhallinnan projektin sisällön pitäisi olla toimiva kokonaisuus. Jos olet koodannut Drupaliin yksittäisen lisämoduulin, niin se voi olla omana projektinaan. Jos taas olet koodaillut useita eri moduuleita tai muokannut Drupalin koodia tai koodannut jotain muuta tauhkaa siihen kylkeen, niin silloin lienee järkevintä (helpointa) laittaa koko Drupal kaikkine muutoksineen versionhallintaan yhdeksi projektiksi.
Mediatiedostoista pitäisi minusta erotella sisältökuvat ja sivustoon kiinteästi kuuluvat resurssit kuten ulkoasun kuvat. Kuvagallerian sisältöä ei ole järkeä sinne laittaa, koska se ei ole versioitavaa sisältöä. Versionhallintaa ei pidä sekoittaa backuppeihin vaikka niiden käyttötarkoitukset osin limittyvätkin. (Ja oikeastaan varmuuskopiointijärjestelmä on versionhallintajärjestelmä, mutta eri merkityksessä kuin mihin koodarit sitä tarvitsevat.)
Versionhallintaan kuuluvat ne tiedostot, jotka olisi järkevää laittaa vaikkapa zip-paketissa projektin kotisivulle ladattavaksi. Yleensä ulkoiset ohjelmat (kuten XAMPP) ja kirjastot (kuten CMS) eivät kuulu sinne, jos mitenkään voidaan ajatella, että käyttäjä osaa ladata ne itsekin, paitsi silloin, kun projekti on selvästi riippuvainen tietystä versiosta tai on jokin muu erityisen hyvä syy.
Riippuu tosiaan projektista ja tekijöistä mitä sinne kannattaa laittaa. Jos muutaman henkilön projekti ja pelkkää layoutia säätää, niin ei kannata koko roskaa sinne laittaa. Cms:ssä on usein järkevä kansiorakenne, eli jos esim. joku vastaa virtuemart pluginista, toinen news feedistä ja jostain muusta vakio moduulista ja kolmas layoutista, kannattaa ko. kansiot pelkästään laittaa versiohallintaan. Mutta jos projektissa ei ole suunnitelmaa ja kuljetaan "front line":ssä, eli asennetaan useita moduuleita ja plugineja jatkuvalla syötöllä, niin kannattaa melkein käsitellä näiden "pääkansioita" eli joomlan tapauksessa modules, plugins ja layout kansiot. Ja jos joku vielä käpistelee corea, niin koko paska sisään vaan.
Aihe on jo aika vanha, joten et voi enää vastata siihen.