Skip to content

Latest commit

 

History

History
98 lines (73 loc) · 5.88 KB

6.GITIN-KAYTTO.md

File metadata and controls

98 lines (73 loc) · 5.88 KB

6. Gitin käyttö WordPressin kanssa

  • git ei milläänlailla ole sidoksissa WordPressiin vaan sitä voi käyttää missä yhteydessä vaan
    • itse olen mm. varmuuskopioinut työnalla olevan gradun muutoksia ja versioita gittiin
  • Mutta koska tämä on WordPress & Git, niin käydään läpi myös miten gittiä voidaan käyttää WordPress-projekteissa

Mitä tiedostoja repoon mukaan?

  • WordPressin lähdekoodi löytyy myös GitHubista vaikkakin se varsinainen versionhallinta hoidetaan SVN:llä
  • WordPressin Coren tiedostoja on siis kaikki muut paitsi wp-content-kansion sisältö
  • Yleensä Coren tiedostot halutaan jättää versionhallinnan ulkopuolelle, koska ei ole järkeä seurata Coren muutoksia projektikohtaisissa repoissa
  • Projektikohtaisissa repoissa kannattaa seurata projektille relevantteja muutoksia
  • Myöskään mitään salaista matskua (salasanoja, tms.) ei gittiin kannata laittaa, koska se säilyy siellä verrattain turvattomassa formaatissa
    • Pidä erityisesti huolta, että wp-config.php ei tule sinulla koskaan gittiin mukaan
    • wp-configissa määritellään kaikki salasanat ja tunnukset, joita tarvitaan, jotta WP pääsee esim. tietokantaan käsiksi

Esimerkki

# Tarkista, että olet työpöydällä
pwd

# Kopioi eli kloonaa esimerkki projekti itsellesi
# Tämä luo työpöydällesi wordress-esimerkki-git-projekti -kansion
git clone https://github.com/saulirajala/wordress-esimerkki-git-projekti.git

# Sinulla on nyt käytännössä samassa tilanteessa oleva git-repo koneellasi kuin minulla
git log
  • piirrä asiaa hahmottava kuva

Tee muutos esimerkki projektiin

Tee tämä muutos jollain editorilla (VS Code, Atom, Brackets, Notepad, tms.): Rekisteröi menu

Muutoksen jälkeen tarkista gitin status: git status

  • functions.phptiedosto pitäisi olla muuttuneena

Tarkista ja hyväksy muutokset: git add -p

Commitoi muutokset: git commit -m "Register primary navigation"

Huomaa kuinka git log palauttaa nyt erilaisen git historian kuin https://github.com/saulirajala/wordpress-esimerkki-git-projekti/commits/master Tätä muutosta et voi viedä minun repoon, koska sinulla ei ole oikeutta kirjoittaa minun repoon. Eli jos kloonaat jonkun toisen repon, se yleensä tarkoittaa sitä, että alkuperäinen repo ja oma reposi elävät siitä lähtien omaa elämäänsä irrallaan toisistaan.

Poista wordpress-esimerkki-git-projekti -kansio työpöydältäsi: cd ... && rm -rf wordpress-esimerkki-git-projekti

Esimerkki projektin forkkaus + pull request

  • Forkkaus (englanniksi to fork) tarkoittaa sitä, että reposta luodaan kopioi sitä varten, että jossain vaiheessa voidaan kontribuoida takaisin joitain muutoksia takaisin repoon.
  • pull request on pyyntö alkuperäisen repon kehittäjälle, että "Hei, oon tehnyt nämä muutokset. Voisitko lisätä ne omaan repoosi?"
  • WordPressin parissa tätä harrastetaan myöskin jonkin verran, koska lisäosien kehittäjät pitävät lisäosan lähdekoodit monesti GitHubissa.

Fork -esimerkki

https://github.com/saulirajala/custom-site-template. Näytetään miltä:

  • forkattu repo näyttää
  • miltä pull request näyttää

DIY -osuus

Esimerkki repon forkkaukseen tarvitset github-tunnukset. Jos sinulla ei niitä ole, voit rekisteröityä helposti https://github.com/join

  1. Kirjaudu sisään githubiin: Sign in
  2. Mene haluamasi repon osoitteeseen: esim. https://github.com/saulirajala/wordpress-esimerkki-git-projekti
  3. Klikkaa Fork-painiketta oikeassa ylänurkassa

Tällöin sinulle luodaan oman github-tunnuksen alle kopio wordpress-esimerkki-git-projektista. Voit kloonata tämän repon kuten kohdassa Esimerkki. Tee samat muutokset kuin "Tee muutos esimerkki projektiin" -kohdassa.

  • Nyt voit viedä muutokset omaan github-repoosi komennolla git push origin master
  • Mene Githubissa oman tunnuksesi repoon (eli siihen forkkiin) ja klikkaa Compare and Pull Request -painiketta
  • Tarkemmat ohjeet

git push?

git push on komento, jolla voit viedä muutoksesi lokaalista reposta johonkin toiseen repoon. Komennon ensimmäinen parametri määrittää mihin remoteen olet viemässä muutoksia ja toinen parametri sen mihin haaraan ko. repossa olet viemässä muutoksia.

Yleisin komento lienee git push origin master ja tämä tarkoittaa, että olet viemässä muutoksia origin-nimisen remoten master-haaraan.

Komennolla git remote -v näet kaikki repoosi konfiguroidut remotet. git remote add NIMI REMOTEN_OSOITE lisää uuden remoten ja git remote rm NIMI puolestaan poistaa sen. git clone -komento asettaa oletuksena kloonatun repon origin-remoteksi.

Pieni remote harjoittelu:

# Pitäisi olla vain origin
git remote -v

# Lisää joku testi remote
git remote add production https://github.com/FORKER/REPOSITORY.git

# Pitäisi olla origin + production
git remote -v

# Uuteen remoteen puskeminen onnistuisi, jos production olisi oikea repo
git push production master

# Poista testi remote
git remote rm production

# Pitäisi olla vain origin
git remote -v

git pull

git pull komentoa on monimutkaisempi demota, mutta se toimii käytännössä toiseen suuntaan kuin git push. Pushilla viedään muuutoksia, pullilla haetaan muutokset. Muuten sama logiikka git pull origin master tarkoittaa, että haetaan origin-repon master-haarasta uusimmat koodit.