-
Notifications
You must be signed in to change notification settings - Fork 0
Git ohjeita
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
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 origin
remoteen
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.
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.