Git juhend tudengite kontrollimiseks

From ATI public wiki
Revision as of 09:57, 5 September 2015 by Hkinks (Talk) (Created page with "==SSH-ga audentimine== Selleks, et ei peaks iga kord parooli sisse trükkima, on võimalik SSH privaatvõtmega audentida. SSH-ga audentimisel kasutada aadressi git@git.ttu.ee...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

SSH-ga audentimine

Selleks, et ei peaks iga kord parooli sisse trükkima, on võimalik SSH privaatvõtmega audentida. SSH-ga audentimisel kasutada aadressi

git@git.ttu.ee:ained/iag0581/<repositoorium>

Automaatne kloonimine

Kui repositooriume on palju, siis töö lihtsustamiseks võib kasutada skripti. Skript eeldab, et audentimine toimub kasutades SSH võtit. Skripti on võimalik alla laadida http://ati.ttu.ee/wiki/index.php/File:Autoclone.zip

Skripti kasutamine

Failid paigutada kokku mõnda kausta, näiteks:

|- C:
  |- workspace
    |- git
      |- autoclone.sh
      |- update.sh
      |- repod.txt
      |- README.txt

Järgmisena avada Git Bash ja liikuda C:\workspace\git cd /c/workspace/git

Tudengite repositooriumite esmakordseks kloonimiseks käivitada autoclone.sh ./autoclone.sh

Tulemusena tekib kaust 'repositooriumid', kus asuvad tudengite salved. Nt.

|- C:
  |- workspace
    |- git
      |- autoclone.sh
      |- repod.txt
      |- update.sh
      |- README.txt
	  |- repositooriumid
	    |- tudeng1
		|- tudeng2
		|- ...

Hiljem, kui on tarvis viimane seis alla laadida ja salvesid uuendada, siis käivitada update.sh ./update.sh

Tudengite salved käiakse ükshaaval läbi. Kui uuendusi pole, näidatakse ekraanil "Everything up to date". Kui salve pole üldse midagi laetud, väljastakse teade "Your configuration specifies to merge with...". Kui on vajadus protsess peatada, siis kasutada klahvikombinatsiooni ctrl+c.

Tudengi salvede nimekiri asub failis repod.txt, kui on vaja kedagi lisada või eemaldada.


Küsimused

  1. kuidas ma saan teada kui uus kodutöö tuleb mulle üle kontrollimiseks, et ma ei jääks sellega venima?
Uuenduste alla laadimist saab automatiseerida skriptiga. Uuenduse käivitamisel on näha, kas keegi on salves muutnud midagi vahepeal. See ei tähenda küll, et muudatused on kindlasti kodutööga seotud. Seega peaks see korralduslikult paigas olema, nii et tudengid peavad kodutöö ära saatma kindlaks kuupäevaks 

uuenduste alla laadimist saab automatiseerida ning neid alla laadides on näha, kas kellelgi on miskit muutunud vahepeal. Küll aga ei tähenda see, et see muudatus on konkreetselt kodutööga seotud. Seega see peaks minumeelest korralduslikult olema paigas, et tudengid peavad kodutöö saatma ära nt 13.10 24:00 ja järgmine päev teed rahulikult refreshi ja kui ei ole, siis ei ole.

  1. kuidas ma saan ainult vajaliku osa kätte, mitte kogu tema repot, sest no kui ta iga tund tekitab sinna mingi posu faile, siis teise semestri lõpuks ega ma väga ei soovi iga tudengi repot alla sikutada.
Esiteks peaks sisse harjutama neile kindla kaustastruktuuri, nt lab1, lab2, .., HW1, HW2, et sinna ei olekski kohta tekitamiseks suvalisi faile. Sinna peaksid ainult asjakohased failid tekkima.

Kogu repo laed alla alguses, kasutades 'clone' käsku. Hiljem 'pull' käsuga laetakse ainult muutused (diffid). Kas vastab küsimusele?