Muokataan sivua Git
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
Rivi 3: | Rivi 3: | ||
| kuva=[[Kuva:Git-logo.svg]] | | kuva=[[Kuva:Git-logo.svg]] | ||
| kuvateksti= | | kuvateksti= | ||
| lisenssi=[[GPL]] | | lisenssi=[[GPL]] | ||
| käyttöliittymä=teksti | | käyttöliittymä=teksti | ||
| kotisivu=[ | | kotisivu=[http://git-scm.com/ git-scm.com]}} | ||
Git on hajautettu [[versionhallintajärjestelmä]], jonka kehityksen aloitti [[Linus Torvalds]] Linuxin [[ydin|ytimen]] kehitystä varten. Se korvasi ytimen kehityksessä suljetun lähdekoodin BitKeeperin. | |||
}} | |||
== Perusperiaate == | == Perusperiaate == | ||
Rivi 23: | Rivi 20: | ||
Luodaan ensin muutama tiedosto projektia varten: | Luodaan ensin muutama tiedosto projektia varten: | ||
hello.c ([[C]]-kielinen lähdekoodi, ohjelma tulostaa ruudulle yhden rivin tekstiä, kääntyy komennolla <tt>[[gcc]] hello.c -o hello</tt>): | hello.c ([[C]]-kielinen lähdekoodi, ohjelma tulostaa ruudulle yhden rivin tekstiä, kääntyy komennolla <tt>[[gcc]] hello.c -o hello</tt>): | ||
#include <stdio.h> | |||
#include <stdio.h> | void main() { | ||
void main() { | printf("Hei, maailma\n"); | ||
} | |||
} | |||
README: | README: | ||
Esimerkkiprojekti, jonka avulla opetellaan Gitin käyttöä | Esimerkkiprojekti, jonka avulla opetellaan Gitin käyttöä | ||
Rivi 60: | Rivi 55: | ||
$ git config --global user.name "Oma Nimi" | $ git config --global user.name "Oma Nimi" | ||
$ git config --global user.email oma@sähköposti.osoite | $ git config --global user.email oma@sähköposti.osoite | ||
=== Tiedostojen muokkaaminen === | === Tiedostojen muokkaaminen === | ||
Nyt kun ensimmäinen commit on tehty voidaan alkaa kehittämään projektia jolloin näemme, miten Gitin kanssa toimitaan tiedostojen muuttuessa. Tiedosto <tt>hello.c</tt> ei ole standardin mukainen eikä se [[kääntäminen|käänny]] suoritettavaksi ohjelmaksi. Korjataan tämä ongelma muuttamalla tiedosto <tt>hello.c</tt | Nyt kun ensimmäinen commit on tehty voidaan alkaa kehittämään projektia jolloin näemme, miten Gitin kanssa toimitaan tiedostojen muuttuessa. Tiedosto <tt>hello.c</tt> ei ole standardin mukainen eikä se [[kääntäminen|käänny]] suoritettavaksi ohjelmaksi. Korjataan tämä ongelma muuttamalla tiedosto muotoon | ||
<tt>hello.c</tt> | |||
#include <stdio.h> | |||
#include <stdio.h> | int main() { | ||
int main() { | printf("Hei, maailma\n"); | ||
return 0; | |||
} | |||
} | Tässä on siis muutettu toisella rivillä esiintyvä <tt>void</tt> muotoon <tt>int</tt> ja lisätty toiseksiviimeinen rivi <tt>return 0;</tt>. | ||
Tässä on siis muutettu toisella rivillä esiintyvä <tt>void</tt> muotoon <tt>int</tt> ja lisätty | |||
Nyt tehdyt, vielä | Nyt tehdyt, vielä commitoimattomat muutokset nähdään komennolla | ||
$ git status | $ git status | ||
# On branch master | # On branch master | ||
Rivi 208: | Rivi 196: | ||
Kuten aiemmin huomattiin, jokaiseen commitiin viitataan yksilöllisellä mystisellä kirjain- ja numeroyhdistelmällä. Tämän lisäksi Git mahdollistaa tiettyjen commitien nimeämisen selväkielisillä tageilla. Esimerkiksi nimetään alussa ensimmäisen korjauksen jälkeen tehty commit nimelle "v1.0": | Kuten aiemmin huomattiin, jokaiseen commitiin viitataan yksilöllisellä mystisellä kirjain- ja numeroyhdistelmällä. Tämän lisäksi Git mahdollistaa tiettyjen commitien nimeämisen selväkielisillä tageilla. Esimerkiksi nimetään alussa ensimmäisen korjauksen jälkeen tehty commit nimelle "v1.0": | ||
$ git tag v1.0 770194dd647d7f | $ git tag v1.0 770194dd647d7f | ||
Tässä 770194dd647d7f on alkuosa kyseiseen muokkauksen tunniste (ja luultavasti eroaa omassa järjestelmässäsi). Aina, kun Gitissä viitataan tiettyyn muokkaukseen sen tunnisteella | Tässä 770194dd647d7f on alkuosa kyseiseen muokkauksen tunniste (ja luultavasti eroaa omassa järjestelmässäsi). Aina, kun Gitissä viitataan tiettyyn muokkaukseen sen tunnisteella riittää kirjoittaa tunnisteen alkuosaa niin pitkälle, että se yksilöi tietyn tunnistenumeron versiohistoriasta. | ||
Tagitetaan vastaavasti uusin commit versiolle 2.0: | Tagitetaan vastaavasti uusin commit versiolle 2.0: | ||
Rivi 278: | Rivi 266: | ||
Komennolle ei tarvitse antaa parametreja sillä <tt>git clone</tt> on tallentanut Gitin tietokantaan tiedon siitä, mistä alkuperäinen kopio on tehty. Jos versioiden välillä on ristiriitoja ei muutoksista tehdä commitia vaan ristiriidat jätetään käyttäjän ratkaistavaksi kuten <tt>git merge</tt>:n kanssa huomattiin. Kun ristiriidat on korjattu viedään muutokset versionhallintaan tavalliseen tapaan <tt>git commit -a</tt> -komennolla. | Komennolle ei tarvitse antaa parametreja sillä <tt>git clone</tt> on tallentanut Gitin tietokantaan tiedon siitä, mistä alkuperäinen kopio on tehty. Jos versioiden välillä on ristiriitoja ei muutoksista tehdä commitia vaan ristiriidat jätetään käyttäjän ratkaistavaksi kuten <tt>git merge</tt>:n kanssa huomattiin. Kun ristiriidat on korjattu viedään muutokset versionhallintaan tavalliseen tapaan <tt>git commit -a</tt> -komennolla. | ||
== Gitk == | |||
=== | |||
== Katso myös == | == Katso myös == | ||
Rivi 352: | Rivi 272: | ||
*[[CVS]] | *[[CVS]] | ||
*[[Darcs]] | *[[Darcs]] | ||
*[[Mercurial]] | *[[Mercurial]] | ||
*[[Subversion]] | *[[Subversion]] | ||
==Aiheesta muualla== | ==Aiheesta muualla== | ||
* [http://git-scm.com/ Gitin kotisivu] | *[http://git-scm.com/ Gitin kotisivu] | ||
* [http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html Git tutorial] | *[http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html Git tutorial] | ||
* [[wikipedia:Git (software)|Git englanninkielisessä Wikipediassa]] | *[[wikipedia:Git (software)|Git englanninkielisessä Wikipediassa]] | ||
* [http://progit.org/book/ Pro Git, professional version control] -ekirja | *[http://progit.org/book/ Pro Git, professional version control] -ekirja | ||
[[Luokka:Kehitystyökalut]] | [[Luokka:Kehitystyökalut]] |