Skip to content

Git ohjeita

Kimmo Koskinen edited this page Sep 18, 2016 · 1 revision

Yleistä

Alla esimerkki, jossa lisätään yksi uusi commit jossa yksi tiedosto.

Repositoryn hakeminen omalle koneelle (kloonaus)

> git clone [email protected]:partio-scout/fj16-roihuapp-react-native.wiki.git

Uusien tiedostojen/hakemistojen lisääminen committiin

> mkdir files
> cp ~/Dropbox/roihu/Roihu\ App\ -\ suunnitelmia\ 2016-02-13.pdf files/
> git add files

Oman kloonin tilanteen voi tarkistaa git status komennolla:

> git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    new file:   files/Roihu App - suunnitelmia 2016-02-13.pdf

Commitin tekeminen lisätyillä tiedostoilla

> git commit -m "Lisätty kalvot sunnuntain palaverista"
[master 3983100] Lisätty kalvot sunnuntain palaverista
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 files/Roihu App - suunnitelmia 2016-02-13.pdf

git status näyttää tässä vaiheessa että yksi commit olisi pushattavissa:

> git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)
nothing to commit, working directory clean

joten pushataampa commit

> git push
Counting objects: 4, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 1.13 MiB | 0 bytes/s, done.
Total 4 (delta 1), reused 0 (delta 0)
To [email protected]:partio-scout/fj16-roihuapp-react-native.wiki.git
   ebc8066..3983100  master -> master

Feature haarat

Haaran luonti

Uuden feature haaran luonti (ollaan master haarassa)

> git checkout -b feature/components_directory

checkout komento vaihtaa haarasta toiseen, -u vipu luoda samalla uuden haaran.

Commitoi muutokset

> git add calendar.js
> git commit -m "Add calendar component"

Luodun haaran siirto originremoteen

git push -u origin feature/components_directory

Pushatessa kerrotaan mihin remoteen (origin) nykyinen haara siirretään ja millä nimellä (feature/components_directory).

-u vipu kertoo että nykyinen haara merkitään seuraamaan originiin siirrettävän haaran muutoksia. Tällöin myöhemmin git push komennolle ei tarvitse kertoa remotea eikä haaraa.

Pull request luonti

Synkkaa ensin master haaran kanssa. Pull requestia helpompi lukea jos muutokset nähdän masterin "päällä". Aja omassa haarassa:

> git checkout master
> git pull
> git checkout feature/components_directory
> git rebase master
First, rewinding head to replay your work on top of it...
Applying: Add calendar component

rebase operaation jälkeen feature haaran historia on muuttunut, joten joudutaan ylikirjoittamaan remotessa oleva historia

> git push -f

Tämän jälkeen pyydä kommentteja porukalta. Jos kaikki ok, mergeä haara masteriin.

> git merge feature/components_directory
Updating 2281f44..309bf64
Fast-forward
...

Ja siirrä masterin muutokset remoteen

> git push

Github huomaa että pull requestin haara mergettiin masteriin ja osaa sulkea pull requestin. Tämän jälkeen haaran voi poistaa remotesta näin:

> git push origin :feature/components_directory
To [email protected]:partio-scout/fj16-roihuapp-react-native.git
 - [deleted]         feature/components_directory

Github:ssa voi myös tehdä pull requestin sulkemisen, mutta Github tekee aina merge commitin, mikä tekee historian lukemisesta myöhemmin hieman hankalempaa, koska historiassa näkyy kehityksen haarautuminen.

Clone this wiki locally