- mene osoitteeseen http://bitbucket.org ja luo itsellesi tunnus
- mene osoitteeseen http://bitbucket.org ja luo uusi repositorio (esim. nimelle Git Testing)
- täytä lomakkeelle projektikoitaiset tietosi
- SourceTree on ilmainen graafinen sovellus Gitin käyttöön: http://sourcetreeapp.com/
- Git Bash ja muut kilkkeet löytyvät täältä: Git Downloads
- käynnistä git bash ja mene kansioon, jossa haluat työskennellä (esim. komennolla: cd c:\hommat)
- voit katsoa kansion sisällön komennolla: ls -la
- anna komento (huom! muuta tunnuksesi): git clone https://tunnuksesi@bitbucket.org/tunnuksesi/git-testing.git
- git bash pyytää bitbucketin salasanaasi, syötä se ja tyhjä git-testing repositorio siirtyy koneellesi
- anna komento: ls -la, ja huomaat, että näin on käynyt
- siirry git-testing kansioon komennolla: cd git-testing
- anna komento: ls -la, ja huomaat, että kansiossa on .git-kansio, jonne versiohallinta toteutuu
- anna komento: git config --global user.name "FIRST_NAME LAST_NAME"
- anna komento: git config --global user.email "MY_NAME@example.com"
- nyt käyttäjätiedot on asetettu
- luo esim. HTML5-tiedosto haluamallasi editorilla ja tallenna se git-testing kansioon
- tarkista komennolla: ls -la, että tiedosto on kansiossa
- anna komento: git status
- järjestelmä näyttää, että tallentamaasi tiedostoa ei "seurata" versiohallinnan kannalta
- lisää tiedosto komennolla: git add tiedostonnimi
- seuraavaksi tiedosto täytyy lisätä git-versiohallintaan komennolla: git commit -m "kommentti tiedostosta"
- nyt tiedosto on paikallisessa git-versiohallinnassa, ei vielä bitbucketissa
- siirrä tiedosto vielä bitbuckettiin komennolla: git push -u origin master
- mene webbiselaimella repositorion osoitteeseen bitbucketissa
- tarkista tiedoston siirtyminen ja sisältö repositorion source-kansion kautta
- editoi paikallista tiedostoasi ja tallenna uudelleen
- anna komento: git status, ja huomaat, että tiedosto on muuttunut gitin kannalta
- toteuta edellisen kohdan git add, commit ja push -komennot saadaksesi muuttunut tiedosto bitbuckettiin
- git add tiedostonimi
- git commit -m "Added another paragraph to index.html"
- git push -u origin master
- tarkista tiedoston siirtyminen ja sisältö repositorion source-kansion kautta
- edellisessä esimerkissä muutettiin suoraan masterissa olevaa koodia
- oikeasti olisi aina hyvä tehdä uusi oma "branch", jossa tehdään ja testataan uusi ominaisuus
- lisätty uusi ominaisuus lisätään sitten toteutuksen ja testauksen jälkeen "masteriin"
- tee uusi branch komennolla: git branch new-feature
- nyt kaikki muutokset tiedostoille tapahtuu tässä uudessa branchissä ja "master" pysyy ennallaan
- anna komento: git checkout new-feature ja nyt "tarkistat" muutoksia gitin suhteen tässä branchissä
- muuta/lisää edelleen jotain tallentamasi tiedoston sisältöä
- anna komento: git status ja huomaat tallentamasi tiedosto on muuttunut tässä branchissä
- lisää muutos tarkkailuun komennolla: git add tiedostonimi
- lisää versiohallintaan komennolla: git commit -m "A new feature is implemented."
- työskentely jatkuisi näin paikallisella koneella, kunnes feature olisi valmis
- new-featuren siirtäminen masteriin:
- siirry takaisin masteriin komennolla: git checkout master
- anna komento: git merge new-feature
- voit tuhota branchin komennolla: git branch -d new-feature
- anna komento: git status
- huomaat, että paikallinen branch on edellä aikaisempaa masteria bitbucketin repositoriossa
- siirrä paikallinen versio bitbuckettiin komennolla: git push origin master
- tarkista bitbucketista
- asenna konelle git bash tai vastaava git työkalu
- avaa git bash ja kloonaa repositorio paikalliselle koneelle komennolla: git clone https://tunnksesi@bitbucket.org/tunnuksesi/git-testing.git
- nyt projekti on toisella koneellasi ja voit jatkaa projektin tekoa
- tee haluamasi muutoksia tiedostoihin
- lisää seuraus muutettuihin tiedostoihin komennolla: git add tiedostonimi
- muista kommitoida paikalliseen repoon: git commit -m "kommentti"
- muista siirtää paikallisesta koneelta bitbuckettiin: git push origin master
- nyt tiedostot ovat taas bitbucketissa tallessa ja voit niitä käyttää muualta käsin
- voit tarkistaa tilanteen bitbucketista
- edellisissä kohdissa projekti kloonattiin paikalliselle koneelle ja muutoksia lähetettiin push komennolla
- paikallinen projekti voidaan päivittää vastamaan bitbucketissa olevaa projekti komennolla: git pull --all
- alla olevassa esimerkissä bitbucketissa olevassa repositoriossa on uudempi versio index.html tiedostosta
- nyt paikallista projekti voi taas työstää eteenpäin ja gittailla takaisin bitbuckettiin
- jos repositoriota käyttää useampi henkilö, voi tiedostojen välille tulla helposti ristiriitoja
- alla olevassa esimerkissä bitbucketissa on ollut uudempi versio tiedostosta, jota on myös muutettu paikallisessa koneessa
- esimerkissä on lisätty paikalliseen repoon index.html ja yritetty pushata projekti bitbuckettiin
- tällöin tule ensin pyytää bitbucketissa oleva versio paikalliselle koneelle ja tutkia/korjata/päivittää ristiriita
- avaa tiedosto(t), jo(t)ka on määritelty omaavan ristiriitoja ja tee tarvittavat korjaukset
- alla olevassa esimerkissä näkyy eroavaisuudet paikallisen ja bitbucketista tulleen index.html välillä
<p> <<<<<<< HEAD Changes made in a another repo! ======= Changes made in a one local repo! >>>>>>> a836fa8bfebab1302abb306c4b8d34ef998bafbe </p>
- tallenna muutokset ja voit lisää gittiin (ja bitbuckettiin)
- tarkista tilanne bitbucketista
- voit tutkia versiohistoriaa projektista komennolla: git log
- voit tutkia eri versioiden eroja komennolla: git diff <commit hash> filename
- alla olevassa kuvassa näkyy erona lisätty <p>-kappale uusimman ja kolmanneksi uusimman välillä
- siirtyminen vanhempaan (tai mihin tahansa versioon) komennolla: git checkout <commit hash>
- alla olevassa kuvassa näkyy siirtyminen ensimmäiseen versioon, joka näkyy myös index.html-tiedoston sisällössä
- ja takaisin "uusimpaan masteriin" komennolla: git checkout master
- yllä oli kuvattuna pienesti alkeita Gitin käyttöön
- git-versiohallintaan kuuluu paljon muitakin mahdollisuuksia ja menetelmiä
- opiskele lisää ja aloita oma gittailusi:
- Bitbucket 101
- Bitbucket and teams
- Git