Skip to content

Skapa git repo

Nu skall du skapa kursens git repo, lokalt i din terminal under katalogen dbwebb-kurser, och koppla det till den plats för repot som du nyligen skapade på GitHub.

Gå till katalogen dbwebb-kurser

Börja med att gå till din arbetskatalog för kurserna, den som du döpte till dbwebb-kurser.

Gå till katalogen dbwebb-kurser
# Gå till hemmakatalogen
cd
# Gå till dbwebb-kurser
cd dbwebb-kurser

Du kan göra samma sak i ett kommando och här refererar ~ till din hemmakatalog.

Gå till katalogen dbwebb-kurser, i ett kommando
cd ~/dbwebb-kurser

Använd kommandot pwd och ls för att försäkra dig om att du är på rätt plats i filsystemet.

Image description
Bild: Nu är du på rätt plats i filsystemet.

Skapa kursrepot som ett git repo

Nu skall vi skapa kursrepot som ett git repo.

Ange namn för ditt repo

Det första du behöver göra är att berätta vilket namn du har på repot. Detta är samma namn som du använde när du skapade platsen för repot på GitHub. I exemplet användes python-abcd25 som namn.

Kör följande kommando (men byt ut python-abcd25 mot namnet på ditt repo).

Sätt vilket namn som skall användas när repot skapas.
# Change abcd25 to your own student acronym
REPO=python-abcd25

Ovan kommando sparar ditt tänkta repo-namn i en miljövariabel som nästkommande kommandon kan läsa.

Anger du fel namn så kan du rätta till det genom att köra kommandot en gång till med rätt namn.

Det kan se ut så här när du gör det i terminalen.

Image description
Bild: Nu är du redo att skapa ditt repo, se bara till att du valt rätt namn innan du går vidare.

Initiera ditt git repo med branches

Nu kan du köra följande kommandon för att initiera ditt kursrepo som ett git repo som passar för kursen.

Kommandon för att skapa ditt kursrepo
# Init the repo and move into the repo directory
git init $REPO
cd $REPO
# Create the main branch and add a README.md to it
git checkout -b main
echo "# $REPO" >> README.md
git add README.md
git commit -m "First commit"
# Create three empty branches to which you will submit your result in the course
git checkout -b bth/submit/kmom03
git checkout main
git checkout -b bth/submit/kmom06
git checkout main
git checkout -b bth/submit/kmom10
git checkout main
git checkout -b bth/submit/test-gitconfig
git checkout main

Här visas bilder från när kommandona körs, del för del.

Först initieras repot och vi flyttar in i den katalogen som skapas.

Image description
Bild: Nu är repot skapar och du har flyttat in i den katalogen där repot finns.

Du kan använda kommandot pwd och ls för att kontrollera vilken katalog du är i och vad den innehåller. Använder du ls -la får får du detaljer om filer och kataloger och det visas även dolda kataloger som börjar med en punkt ..

Därefter skapar vi main-branchen.

Image description
Bild: Nu är main-branchen skapad och en fil README.me är tillagd.

Det är den branchen du skall jobba i och här kommer du att placera all kod du skriver.

Därefter skapar vi fyra tomma branches som skall användas vid inlämning av kursens tre uppgifter. Den sista är för att kolla att din utvecklingsmiljö är kopplad till Canvas.

Skapa tomma branches för inlämning av uppgifter
import repo4 from '@assets/kursrepo/repo4.png';
<Figure
src={repo4}
caption="Nu är fyra tomma submit-branches skapade."
/>
Du kan kontrollera att ditt repo nu innehåller 5 branches med kommandot `git --no-pager branch`, med det kommandot ser du också vilken branch du befinner dig i för närvarande.
Du kan också använda kommandot `git status` för att se om du gjort några lokala ändringar i ditt git repo, ändringar som ännu inte är committade.
import repo41 from '@assets/kursrepo/repo41.png';
<Figure
src={repo41}
caption="Med git branch och git status kan vi kontrollera status för repot."
/>
:::caution
Om något går fel kan du radera din katalog och försöka igen.
```bash title="Så här raderar du ditt skapade repo om du vill börja om från början."
# Change <dirname> to the name of your course repository name,
# for example python-abcd25.
cd ~/dbwebb-kurser
rm -rf <dirname>

Kör därefter kommandona som skapar ditt kursrepo igen, men kör dem gärna ett efter ett så blir det lättare att se vilket kommando som går fel. :::

Koppla ditt repo mot GitHub

När du är klar och ditt kursrepo är skapat så kopplar du det mot platsen på GitHub och du laddar upp ditt repo, tillsammans med de branches du skapat, via kommandot git push.

Koppla ditt kursrepo mot GitHub
# Add the remote place on GitHub to connect to your repo
git remote add origin git@github.com:bth-python/$REPO.git
# Push all branches and make the follow changes on the remote (GitHub)
git push -u origin main
git push origin bth/submit/kmom03
git push origin bth/submit/kmom06
git push origin bth/submit/kmom10
git push origin bth/submit/test-gitconfig

Så här kan det se ut om man kör varje kommando för sig. Dock visas bara de två första git push då resterande push ger liknande utskrift.

Image description
Bild: Nu är samtliga branches kopplade mot platsen på GitHub.

Nu är du klar och har skapat ditt kursrepo lokalt och du har kopplat det till din “remote” som är platsen på GitHub.

Ditt repo på GitHub

Nu kan du ladda om din repo-sida på GitHub för att se vad du laddat upp. I mitt fall ser det ut så här.

Image description
Bild: Nu ser du innehållet i ditt repo på GitHub.

Du kan klicka på länken “Branches” så ser du alla de fyra branches som ditt repo består av. Om du inte hittar länken den så trycker u ctrl f och söker efter strängen “branch” i webbsidan.

Image description
Bild: Du kan se dina branches via GitHub.