Muokataan sivua Git

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

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 5: Rivi 5:
  | lisenssi=[[GPL]]v2  
  | lisenssi=[[GPL]]v2  
  | käyttöliittymä=teksti
  | käyttöliittymä=teksti
  | kotisivu=[https://git-scm.com/ git-scm.com]
  | kotisivu=[http://git-scm.com/ git-scm.com]
| lähdekoodi=[https://github.com/git/git github.com/git/git]
}}
}}


Rivi 23: Rivi 22:
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>):
<syntaxhighlight lang="C">
<source lang="C">
#include <stdio.h>
#include <stdio.h>
void main() {
void main() {
     printf("Hei, maailma\n");
     printf("Hei, maailma\n");
}
}
</syntaxhighlight>
</source>
README:
README:
  Esimerkkiprojekti, jonka avulla opetellaan Gitin käyttöä
  Esimerkkiprojekti, jonka avulla opetellaan Gitin käyttöä
Rivi 69: Rivi 68:
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> muotoon
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> muotoon


<syntaxhighlight lang="C">
<source lang="C">
#include <stdio.h>
#include <stdio.h>
int main() {
int main() {
Rivi 75: Rivi 74:
     return 0;
     return 0;
}
}
</syntaxhighlight>
</source>
Tässä on siis muutettu toisella rivillä esiintyvä <tt>void</tt> muotoon <tt>int</tt> ja lisätty loppuun rivi <tt>return 0;</tt>.
Tässä on siis muutettu toisella rivillä esiintyvä <tt>void</tt> muotoon <tt>int</tt> ja lisätty loppuun rivi <tt>return 0;</tt>.


Rivi 293: Rivi 292:


Paljas repository toimii myös projektin varmuuskopiona, mikäli oma työhakemistosi syystä tai toisesta tuhoutuu.
Paljas repository toimii myös projektin varmuuskopiona, mikäli oma työhakemistosi syystä tai toisesta tuhoutuu.
=== Muutosten allekirjoittaminen ===
Kuten osiosta versionhallinnan käyttöönotto mahdollisesti huomattiin, Git ei tarkista sille annettua nimeä ja sähköpostia. Mikäli committin tai tagin tunnistaminen on tärkeää, se on allekirjoitettava joko [[GnuPG|GPG-avaimella]] tai alkaen Gitin versiosta 2.34 [[SSH#Tunnistaminen_avainparilla|SSH-avaimella]].
Ensin kerrotaan gitille allekirjoitusavain, GPG:n tapauksessa tämä on avaimen pitkä ID, SSH:lla tämä on julkinen avain tai polku siihen, esimerkiksi
$ git config --global user.signingkey ~/.ssh/id_ed25519.pub
SSH:n tapauksessa gitille täytyy myös kertoa SSH:n olevan käytössä
$ git config --global gpg.format ssh
Nyt committia tai tagia luodessa voidaan määrittää allekirjoitus <tt>-S</tt> -lipulla
$ git commit -S -a -m "Luotiin allekirjoitettu commit"
$ git tag -S v2.1
Gitin voi myös määrittää allekirjoittamaan commitit ja tagit automaattisesti:
$ git config --global git commit.gpgsign true
$ git config --global tag.forceSignAnnotated true
$ git config --global git push.gpgsign if-asked
==== Allekirjoitusten tarkistaminen ====
Gitillä on monta komentoa allekirjoitusten tarkistamiseksi, esimerkiksi aiemmin mainittu <tt>git log</tt>, jonka voi käskeä näyttämään allekirjoituksen:
$ git log --show-signature
[[GnuPG|GPGtä]] käytettäessä tämä noudattaa sen luottamusmallia, mutta SSH:lle on tehtävä oma <tt>authorized_signers</tt> -tiedostonsa ja kerrottava git:ille mistä se löytyy. Tämä sisältää käyttäjän
sähköposti-osoitteen (tai osan sitä, <tt>*</tt> merkki sallii kaiken, julkisen avaimen ja mahdollisesti kommentin.
Lisätään esimerkiksi Oskun julkinen avain:
$ echo "osku@linux.fi ssh-ed25519 pitkaMerkkijonoJossaOnVahanKaikkeaMuutaKuinAakkosia" >> ~/.ssh/authorized_signatures
Kerrotaan Gitille mistä tämä tiedosto löytyy
$ git config --global gpg.ssh.allowedSignersFile ~/.ssh/allowed_signers
Nyt git kertoo
$ git log
commit 9c5cc04010c91cf560e097c69e5c53f6a51d30ef
Good "git" signature for osku@linux.fi with AVAIMENTYYPPI key SHA256:avaimenSormenjälkiSHA256Tiivisteenä
Author: Osku Ohjelmoija <osku@linux.fi>
Date:  Fri Oct 23 23:39:56 2009 +0300


== Graafisia Git-käyttöliittymiä ==
== Graafisia Git-käyttöliittymiä ==
Rivi 352: Rivi 308:
*[[CVS]]
*[[CVS]]
*[[Darcs]]
*[[Darcs]]
*[[Gitea]]
*[[GitHub]]
*[[GitLab]]
*[[Mercurial]]
*[[Mercurial]]
*[[Subversion]]
*[[Subversion]]
*[[GitHub]]


==Aiheesta muualla==
==Aiheesta muualla==
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)

Tällä sivulla käytetty malline:

Tämä sivu kuuluu seuraavaan piilotettuun luokkaan:

Noudettu kohteesta ”https://www.linux.fi/wiki/Git