Git: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Mernits (talk | contribs)
Mernits (talk | contribs)
No edit summary
Line 36: Line 36:


</source>
</source>
Git toetab järgmiseid protokolle:
*ssh://
*http://
*https://
*git://
*file://
==Uue faili või failide lisamine versioonihaldusesse==
==Uue faili või failide lisamine versioonihaldusesse==



Revision as of 10:01, 1 June 2010


NB SEE ON TOORES PALA:)

Sissejuhatus

Versioonihalduse vajaduses pole vaja programmeerijaid veenda. Kui oled algaja ja pole sellest midagi kuulnud, siis loe http://et.wikipedia.org/wiki/Versioonihaldus

Põhimõisted

Kesksed vs hajusad süsteemid

Paigaldamine Ubuntu Linux keskkonnas

apt-get install git-core

Esmane seadistamine

Seadistada tuleb kasutajanimi, e-posti aadress, tekstiredaktor, ja merge vahend (diff programm)

git config --global user.name "Sinu Nimi"
git config --global user.email sinu@aadress.ee
git config --global core.editor vim
git config --global merge.tool vimdiff

Uue projekti loomine olemasolevatest failidest

Mine kataloogi, milles isalduvast soovid teha git hoidla ja initsialiseeri see.

git init
git add .
git commit

Projekti kloonimine enda arvutisse

git clone git://robot.itcollege.ee/robotex.git

Git toetab järgmiseid protokolle:

  • ssh://
  • http://
  • https://
  • git://
  • file://


Uue faili või failide lisamine versioonihaldusesse

git add <failinimi>

Kasutada saab metamärke.

Näiteks cpp ja h laiendiga failide lisamiseks:

git add *.cpp
git add *.h

Commit

git commit –m 'Esimene versioon'

Hoidla seisundi vaatamine

git status

Mis on Git kõhus

git kataloog

Hoidlas on igas kataloogis .git kataloog (või muutujas GIT_DIR määratud kataloog). Siin hoitakse konfiguratsiooni ja muudatuste andmebaasi.

Objektide andmebaas

Siin hoitakse nelja tüüpi objekte

  • blob
  • tree
  • commit
  • tag

Ingnoreerimine

Kõiki faile ei ole mõistlik versioonihaldusesse kaasata. Näiteks C objektfaile, varukoopiaid jne. Failide versioonihaldusest välja jätmine toimub failis .gitignore kirjeldatud mustrite alusel.

*.[oa]
*~
*.jpg

Lingid

GIT quick reference

Kuutõrvaja GIT

Suurepärane GIT õpe. siit võiks alustada

Linus GIT versioonihaldusest

Linus ei õpeta siin GIT kasutamist vaid räägib, miks GIT on omasugune ja sobiv. Kohustuslik vaatamisvara, kui tunned versioonihalduse alustõdesid ja ka puuduseid. Näiteks oled lahendanud merge konflikte ja teinud harusid näiteks SVN hoidlas ja üritanud neid hallata.

EmbedVideo is missing a required parameter.

Pikk lugu 1h10m

Vaba interpretatsioon järgnevast videost.

  • CVS - paha paha:) "aka devil". SVN on selle mõttetu vend. (Linus soovitab SVN kasutajatel saalist lahkuda:) Kui teile meeldib CVS, siis peaksite olema asutuses, kes teie vaimse tervisega tegeleb.
  • bitkeeper - positiivne (inspireerinud giti, kuigi git on bitkeeperist väga erinev)
  • git kasutamine algusaastatel nõudis korrsliku ajujõudu:)
  • Keskne kooriserver pole hea
  • merge CVSis on suur naerukoht (complete disaster=how stupid people are)
  • Igal arendajal on oma haru
  • Mercurial on samuti heal põhimõttel tehtud
  • hash on hea, et tagada terviklikus (kettal on halb blokk, siis teised süsteemid annavad vigase väljavõtte teie koodist) terviklikkus on GIT puhul tagatud
  • GIT on kiire


GIT

EmbedVideo is missing a required parameter.

Joeli arvamus hajusatest versioonikontrollisüsteemidest

Joel on Software artikkel

Gource software version control visualization - Git to v1.0

PS: uusi asju siit videost ei õpi.

EmbedVideo is missing a required parameter.