• kth.se
  • Studentwebben
  • Intranät
  • kth.se
  • Studentwebben
  • Intranät
Logga in
DD1389 VT20 (60173)
Labb0
Hoppa över till innehåll
Översikt
  • Logga in
  • Översikt
  • Kalender
  • Inkorg
  • Historik
  • Hjälp
Stäng
  • Min översikt
  • DD1389 VT20 (60173)
  • Uppgifter
  • Labb0
  • Startsida
  • Media Gallery
  • Course Evaluation

Labb0

  • Inlämningsdatum Inget inlämningsdatum
  • Poäng 0

Välj labbpartner

I kursen använder vi Kth-git för att ni ska kunna ladda upp era lösningar och få hjälp med dem. Vi kommer att sätta upp git-repo för dig och din labbpartner så att ni får tillgång till varandras. Därför behöver vi veta uppgifter om de som labbar ihop. Labbgruppen måste bestå av två personer, verken fler eller färre.

Kom överens med en annan student att labba ihop, fråga efter namn, efternamn och e-post adress, när du har alla de uppgifter besök  denna länk och välj labbpartner i listan. Båda  gruppmedlemmar måste göra detta.

 

GitHub och Git

För mer information kolla: Git and Github

1 Vad är Versionshantering?

Versionshantering (eller Version Control) är ett samlingsnamn för program som ger en användare möjlighet att komma åt tidigare versioner av dokument och spåra ändringar som gjorts. Den här funktionaliteten kan vara användbar i flera sammanhang, men den är särskilt värdefull inom mjukvaruutveckling, och versionshantering är idag ett centralt verktyg som du med stor sannolikhet kommer att stöta på i arbetslivet.

2 Git

Ett av de mest använda versionshanteringssystemen heter Git, och det är det ni kommer möta i den här uppgiften. Anledningen att vi valt Git är att det dels är vanligt, det är Free Software (fritt att använda, studera, och även modifiera och distribuera), och det är också förhållandevis enkelt och kraftfullt.

2.1 GitHub

GitHub är en tjänst som sitter ovanpå Git. GitHubs främsta förtjänst är att de ”host:ar” dina repository:s. Det vill säga, de ligger på GitHubs maskiner, så du slipper oroa dig för att förlora allt ditt arbete om du till exempel spiller kaffe på din dator. GitHub har också några andra användbara features som access control, verktyg för ärendehantering, och ett tjusigt webbgränssnitt.

KTH tillhandahåller en egen GitHub server där du kan lagra dina programmeringsprojekt. Den kommer att användas under dina programmeringskurser under studieåren. Men det kan vara praktiskt att också skapa ett ”riktigt” GitHub-konto för eventuella sidoprojekt, och eftersom du är student kan du utnyttja GitHub Student Developer Pack.

För att komma åt KTHs GitHub så går du in på https://gits-15.sys.kth.se/ och loggar in med ditt KTH-id och lösenord.

 

3 Uppgiften

Börja med att logga in på KTH GitHub om du inte redan gjort det.

3.1 Repositories eller repo:n

En av grundstenarna inom versionshantering är ett repository. Ett repository är den struktur som innehåller alla filer och all metadata (data om data) som används av versionshanteringssystemet. I Git är ett repository en helt vanlig katalog, med en underkatalog som heter ”.git” där all metadata lagras. Innehållet i ”.git” är helt vanliga textfiler, i den teckenkodning som är default för systemet, och beskriver historiken för filerna i ett repository. För den som är nyfiken på hur det fungerar rent tekniskt finns det en utmärkt förklaring här Links to an external site..

Till att börja med ska du skapa ett nytt repository, det gör du genom att klicka på plus-tecknet uppe i högra hörnet och därefter på ”New repository”. Välj ett godtyckligt namn och skriv en kort beskrivning. I det här fallet är det inte så noga om du väljer Public eller Private. Men framtida uppgifter vill du se till att ha i ett privat repository. Välj ”Initialize this repository with a README”. En README är en mer utförlig beskrivning av ditt projekt. Det kommer skapas en fil i ditt repository som heter README.md, där md betyder Markdown, vilket är ett annat språk som används för att formatera text.

Du har också möjlighet att välja en fördefinierad gitignore. Gitignore är också en fil, och som namnet antyder så används den för att säga åt Git vilken typ av filer som inte ska hanteras av systemet. Det kan vara värdefullt att ta en titt på senare, men täcks inte in i den här uppgiften.

3.2 Commits

Git beskriver ditt repository som en serie av ”commits”. En commit ses som en följd av ändringar till filer (tilläggningar/borttagningar av filer, uppdateringar av innehåll) och ett meddelande. Meddelandet ska vara beskrivande av vilka ändringar som gjorts. Om du tittar på ditt repository i webb-gränssnittet kan du se att du har en commit, som beskriver ändringarna i din README-fil.

3.3 Kloning

För att kunna arbeta med ditt nya repository på din dator behöver du klona det. Men för att kunna göra det behöver du kunna autentiseria dig, det vill säga, visa för GitHub att du är vem du utger dig för att vara. För KTH GitHub görs detta med något som kallar SSH-nycklar.

Hela förloppet för att skapa nycklarna och koppla det till ditt konto beskrivs här Links to an external site.. Under Step 4 (Adding a new SSH key to your GitHub account) ska du dock inte installera xclip, du får istället ersätta:

xclip -sel clip < ~/.ssh/id_rsa.pub

med

cat ~/.ssh/id_rsa.pub

och markera manuellt från (inklusive) ssh-rsa . . . fram till och med din e-mail, och kopiera med Ctrl+Shift+C.

Förhoppningsvis har du nu fixat med din nya nyckel och kan ansluta till KTH GitHub. Om du sen vill använda din egen dator behöver du följa samma steg (länken har instruktioner även för Windows och Mac, under huvudrubriken).

Du bör även ställa in ett namn och email till Git för din dator-användare. Använd samma email som du använder i Github tillsammans med ett frivilligt namn:

git config --global user.name "Erik Gitsson"

git config --global user.email "ergit@kth.se"

Flaggan "--global" säger att inställningen är för din dator-användare.

Om du nu går tillbaka till ditt repository i webbläsaren, och kollar i den nedra högra delen av din skärm, så ser du en SSH-länk. Kopiera den, och öppna sedan ett terminalfönster och skriv (för att klistra in använder du Ctrl+Shift+V):

git clone din-SSH-länk

Om du nu kör kommandot ”ls” bör du nu ha en mapp med samma namn som ditt repository. Om du går in i den med ”cd” och kör ”ls -a” bör du se mappen ”.git” och din README-fil.

Skapa sen en fil, och öppna den med någon texteditor och skriv något i den. Sen går du tillbaka till din terminal, och skriver:

git add filnamn
 

Det här lägger till din nya fil i vad som kallas för indexet. Indexet kan ses som ett mellansteg där innehåll som ligger i din mapp lagras inför en commit. Därefter behöver du paketera ihop det du gjort till en commit, det görs enklast med kommandot:

git commit -a -m "meddelande"

Där flaggan ”-a” innebär att git automatiskt add:ar filer som redan spåras, och ”-m” att vi ger meddelandet direkt i terminalen (annars öppnas en text- editor), notera att meddelandet måste stå inom citat-tecken!

Det sista steget är att se till att dina ändringar också hamnar på GitHub. Vilket görs med kommandot

git push

Om du vid ett senare tillfälle sitter vid en en annan dator som också har en klon av ditt repository som inte har de senaste ändringarna behöver du innan du kan push:a använda

git pull

för att dra ner den kanoniska versionen (den som ligger på KTH GitHub).

4 Arbetsflöde

När du arbetar med Git så gäller det framförallt att komma ihåg:

  • Nya filer behöver läggas till med ”git add”.

  • Om du inte använder ”-a” när du commit:ar behöver du även lägga till gamla filer igen.

  • Försök i någon mån göra ”lagom” stora commit:s, som är lätta att beskriva i ett kort meddelande.

  • Saker hamnar inte på GitHub förrän du har push:at.

  • Om din lokala kopia ligger efter GitHub behöver du först spara dina eventuella lokala ändringar med ”git commit”, använda ”git pull”, och sen lösa en eventuell merge-konflikt innan du kan push:a.

 

 

0
Inkludera en beskrivning
Ytterligare kommentarer:
Maxresultat för gradering till > poäng
Inkludera en bedömningstitel

Matris

Hitta matris
Inkludera en titel
Hitta en matris
Titel
Du har redan bedömt studenter med den här matrisen. Större ändringar kan påverka resultaten för deras uppgifter.
 
 
 
 
 
 
 
     
Det går inte att ändra en matris efter att du börjat använda den.  
Titel
Kriterier Bedömningar Poäng
Det här kriteriet är länkat till ett lärandemål Beskrivning av kriterium
tröskel: 5 poäng
Redigera beskrivning av kriterium Ta bort kriterium rad
5 till >0 poäng Full poäng blank
0 till >0 poäng Inga poäng blank_2
Det här området kommer användas av utvärderaren för kommentarer relaterade till det här kriteriet.
poäng
  / 5 poäng
--
Ytterligare kommentarer
Det här kriteriet är länkat till ett lärandemål Beskrivning av kriterium
tröskel: 5 poäng
Redigera beskrivning av kriterium Ta bort kriterium rad
5 till >0 poäng Full poäng blank
0 till >0 poäng Inga poäng blank_2
Det här området kommer användas av utvärderaren för kommentarer relaterade till det här kriteriet.
poäng
  / 5 poäng
--
Ytterligare kommentarer
Poängsumma: 5 av 5
Föregående
Nästa
Föregående modul:
Kursinformation
Nästa modul:
Kursvecka 1 (16 jan-17 jan)