This is an old revision of the document!


Versionshantering med Git 3 - remote från local server...

I denna övning ska ni jobba ihop 3, 4 eller 5 st.
* medlemmar = alla i gruppen.

Ni ska “individuellt tillsammans” skriva svaren på frågorna nedan i en fil som heter git3.txt och som ligger i wesweb/git/ och ni ska skriva in svaren med vim och “commita” när ni är klara. Om det inte finns någon direkt fråga utan man bara ska skriva massa kommandon så svara med de kommadon + ev någon kommentar som ni kan ha nytta av för att förstå varför ni gör som ni gör.

1. Välj ut en person som är “git remote master…” - typ.

2. Personen gör ett “bare repository”.

cd && git init --bare --shared=group git3_bare

Vad är skillnaden mellan git init --bare jämfört med vanliga git init och varför står det cd && först? Förklara med några textrader.

3. Kan ni ta reda på vad --shared=group har för betydelse.

4. Alla, även personen som har skapat “git3_bare”, ska nu hämta ner det tomma repot. Skapa en katalog som heter temp och flytta er dit. När ni står där ska ni clona repot.

git clone ~username/git3_bare
# username = login på personen som har skapat ett bare-repository

Flytta er till katalogen som ni nu har fått.

5. Låt en person börja, övriga ger tips
a. Skapa en fil som heter members med vim och skriv ert namn i den filen på en ny rad.
b. Spara filen, lägg till den, commita den och skicka den sen till remote (git push)
c. Alla kör git pull och kollar vad som händer, tex ls -la och sen cat members
d. Alla kör git tree (ett git-alias) för att se hur det ser ut.
e. repetera a-d för alla medlemmar.

6. Låt en person börja, övriga ger tips
a. Skapa en ny rad i filen, skriv något på denna rad (Alla ska skriva olika)
b. Spara filen
c. repetera a-b för alla medlemmar.

7. Låt en person börja, övriga ger tips och hjälper till, var noga med att läsa det som skrivs ut på skärmen.
a. Lägg till filen som är ändrad, commita den och skicka den sen till remote (git push), det är inte säkert att det går men gör inget mer nu. Detta ska vi försöka lösa i nästa uppgift.
b. repetera för alla medlemmar.

8. Låt en person börja, övriga ger tips och hjälper till - kan behövas, var noga med att läsa det som skrivs ut på skärmen.
a. Se till att hämta från remote, fixa Merge conflict och gör övrigt som man måste göra och avsluta men att pusha. Ni ska lyckas med en git push detta innan nästa börjar.
b. kör ert alias git tree och visa alla
c. repetera a-b för alla medlemmar.

9. Alla
a. Nu ska alla köra git pull och se till att få ner den senaste “koden”
b. Nu ska alla köra git tree - jämför och kolla att det ser lika ut.

10. Gå till personen som skapade bare repot och gå in i den katalogen och kolla efter filen members som ni har skapat. Försök förklara.

11. Låt en person börja, övriga ger tips
a. Skapa en ny fil med ett nytt namn (OBS! viktigt att ni alla väljer olika namn), skriv något i denna fil.
b. Spara filen
c. Lägg till filen med git add, commita och kör push.
d. Om det inte går och köra git push - lös problemen och se till att det går att pusha.
e. Repetera a-d för alla medlemmar.
f. Alla kör git pull
g. Alla kör git tree kolla hur hur det ser ut och fundera på varför.

12. Har ni kommit hit kan ni testa olika saker

  • alla skapar en eller ett par filer, hämtar och skickar fram och tillbaka.
  • ni skriver en fil “story” och en börjar att skriva och övriga fortsätter.
  • testa något annat… Försök få kläm på hur man löser konflikter och git merge

13. När ni börjar känna att ni har kolla på läget ska ni fundera ut minst en, gärna fler, lämpliga uppgifter som skulle kunna ingå i denna uppgift.