4 175
muokkausta
(Torvalds kehitti perusrakenteet mutta varsinainen versionhallinnan käyttöliittymä on muiden tekoa) |
(alkua) |
||
Rivi 1: | Rivi 1: | ||
Git on hajautettu [[versionhallintajärjestelmä]], jonka kehityksen aloitti Linus Torvalds Linuxin [[ydin|ytimen]] kehitystä varten. Se korvasi ytimen kehityksessä suljetun lähdekoodin BitKeeperin. | Git on hajautettu [[versionhallintajärjestelmä]], jonka kehityksen aloitti Linus Torvalds Linuxin [[ydin|ytimen]] kehitystä varten. Se korvasi ytimen kehityksessä suljetun lähdekoodin BitKeeperin. | ||
== Käyttö == | |||
Seuraavassa käydään läpi Gitin peruskäyttö esimerkin avulla luomalla esimerkkiprojektille "hello" versionhallintajärjestelmä. | |||
=== Versionhallinnan käyttöönotto === | |||
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>): | |||
#include <stdio.h> | |||
void main() { | |||
printf("Hei, maailma\n"); | |||
} | |||
README: | |||
Esimerkkiprojekti, jonka avulla opetellaan Gitin käyttöä | |||
Seuraavaksi alustetaan Git ajamalla projektin hakemistossa komento | |||
$ git init | |||
Initialized empty Git repository in .git/ | |||
Kuten Git ilmoittaa, komento luo työhakemistoon piilotetun alihakemiston <tt>.git</tt> jonne Git tallentaa kaiken tarvitsemansa datan. Tämän hakemiston sisältöön ei tarvitse kiinnittää huomiota. | |||
=== Tiedostojen lisääminen === | |||
Seuraavaksi lisätään versionhallinnan piiriin alussa luodut tiedostot komennolla <tt>git add</tt>: | |||
$ git add . | |||
Piste tarkoittaa, että versionhallinnan piiriin lisätään kaikki hakemistossa olevat tiedostot. Yksittäisten tiedostojen lisääminen on myös mahdollista: | |||
$ git add hello.c README | |||
Nyt kun Git tietää, että tällaisia tiedostoja on muokattu, on aika tehdä ensimmäinen "commit", eli siirretään tiedostojen uusin tila versionhallintaan yhdeksi commitiksi: | |||
$ git commit | |||
Komento avaa [[ympäristömuuttuja]]ssa EDITOR määritettyyn tekstieditoriin tiedoston, jossa #-merkeillä alkavilla riveillä lyhyesti kuvattu tehtävät muutokset. Tässä tapauksessa ilmoitetaan uusista tiedostoista <tt>hello.c</tt> ja <tt>README</tt>. Tiedostoon voidaan kirjoittaa lyhyehkö lokiin tallentuva kuvaus tehdyistä muutoksista. Risuaidalla alkavat rivit eivät päädy kommenttiin. Kun kommentti on kirjoitettu suljetaan tekstieditori, jolloin muutokset viedään versionhalintaan eli tapahtuu commit: | |||
Created initial commit 9c5cc04: Ensimmäinen commit | |||
2 files changed, 5 insertions(+), 0 deletions(-) | |||
create mode 100644 README | |||
create mode 100644 hello.c | |||
Nyt lokista nähdään, että projektiin on tehty yksi muokkaus: | |||
$ git log | |||
commit 9c5cc04010c91cf560e097c69e5c53f6a51d30ef | |||
Author: Osku Ohjelmoija <osku@linux.fi> | |||
Date: Fri Oct 23 23:39:56 2009 +0300 | |||
Ensimmäinen commit | |||
Lokiin ilmestyvä nimi ja sähköpostiosoite voidaan asettaa komennoilla | |||
$ git config --global user.name "Oma Nimi" | |||
$ git config --global user.email oma@sähköposti.osoite | |||
=== 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 muotoon | |||
<tt>hello.c</tt> | |||
#include <stdio.h> | |||
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>. | |||
Nyt tehdyt, vielä committoimattomat muutokset nähdään komennolla | |||
$ git status | |||
# On branch master | |||
# Changed but not updated: | |||
# (use "git add <file>..." to update what will be committed) | |||
# | |||
# modified: hello.c | |||
Eli huomataan, että tiedostoa <tt>hello.c</tt> on muokattu mutta ei vielä commitoitu. Commit tehdään kertomalla Gitille ensin, että tiedostoa on muokattu, komennolla | |||
$ git add hello.c | |||
ja tekemällä commit tämän jälkeen kuten aluksi | |||
$ git commit | |||
Edellä olevat vaiheet voi myös yhdistää ja suorittaa yhdellä komennolla | |||
$ git commit -a | |||
joka commitoi kaikkiin tiedostoihin tehdyt muutokset. | |||
==Aiheesta muualla== | ==Aiheesta muualla== |