Category: Github

How to use Github – and links to Multimusen’s sample code.

  • Sådan bruger du Github

    Sådan bruger du Github

    Github Desktop

    Github er et sted, hvor du og din gruppe kan gemme sikkerhedskopier af jeres kode. Hvis din computer bryder sammen eller bliver væk, så kan du altid hente en klon af jeres kode til en ny computer.

    Denne video viser på 20 minutter, hvordan du laver et repo, tilføjer dine gruppemedlemmer så de også kan redigere jeres fælles kode, hvordan du laver forgreninger og til sidst, hvordan du løser en “merge conflict” (sammenblandingskonflikt).

    Filstruktur

    På Github er det vigtigt, jeres filer ligges med præcis den samme struktur, som i mapperne på din egen computer. At gøre dette ved at uploade filerne manuelt en for en, det er altså ret bøvlet og tager lang tid. Derfor er Github Desktop en god løsning.

    ├── css
    │   └── css.css
    ├── images
    │   └── README.md
    ├── index.html
    └── js
        └── js.js

    Nyt Repository
    I Giithub Desktop kan du lave et nyt repository via File > New Repository. Local Path skal pege på mappen, hvor du har dine filer:

    Formularen til nyt repository på Github. Local Path skal pege på din projektmappe.

    Derefter skal du offentliggøre (publish) dit repository.

    Og så er dit repository ellers klar til brug.

    Repositoryet er klar til brug.

    Hvis du klikker på “Show in Finder” vil du se mappen, der nu bruges sammen med dit repository.

    Filerne i Finder

    Hvis du klikker på “View on Github” kan du se de gemte filer på Github.

    De samme filer er på Github.

    Du kan også åbne dine filer i Visual Studio Code ved at klikke på “Open in Visual Studio Code”.

    Visual Studio Code – åbnes i mappen. Nu kan du redigere dine filer.

    Inviter gruppemedlemmer til at redigere den fælles kode

    Hvis flere i en gruppe vil bruge det samme repo, skal du sende en invitation til gruppen. Du kan invitere ved at skrive de andre brugeres github brugernavne her:

    Inviter andre til dit repo.
    I Settings > Collaborate kan du invitere medforfattere til dit repo
    Her tilføjes brugernavnet.

    Kloner (Clone)

    Når invitationen er accepteret skal den nye bruger selv klone en kopi af dit repository til sin computer (klon betyder som bekendt: kopi af noget). Du kan også bruge en klon af din kode, fx hvis du vil redigere koden på en anden PC, når du kommer hjem.

    En nem måde at klone på er at klikke på knappen “code” i Github. Så kan du kopiere URL’en til dette repo:

    Kopier linet i “Clone using the web URL”

    Når du har dette link til repoet, så skal du bruge det til Github Desktop.

    Fortsæt i Github Desktop

    Klik på Fil “Clone Repository” (eller brug genvejen)

    Så åbnes denne dialog:

    Klon et online repo til en mappe på din PC. Læg mærke til at der er klikket på fanebladet URL.

    1:2 URL
    Klik på fanebladet URL, og indsæt det link du kopiede for et øjeblik siden.

    2:2 Local Path
    Betyder en lokal sti. Det er den mappe, hvor klonens filer bliver gemt på din computer.

    Klik nu på Clone

    Hva’ Så?

    Herefter vil Github Desktop placere filerne i den mappe du pegede på med Local Path. I eksemplet her vil mappen ligge på min Desktop. Placer dine Github filer et mere praktisk sted, det behøver ikke at være Desktoppen!

    I Github Desktop ser du nu denne dialog:

    No local changes

    Hvis der står no local Changes, så kan du:

    • Åbne mappen i Visual Studio Code (eller en anden editor).
    • Show in Finder (Mac) / Explorer (Windows).
    • View on Github – åbner din browser i repositoriet online.

    VSC – koden redigeres

    Prøv nu at klikke på “Open in Visual Studio Code“.

    VSC åbnet i “klon-mappen”

    Prøv at redigere en af filerne, tilføj fx et et par linjer til README.md filen. På billedet kan du se, der er tilføjet noget nyt:

    Husk at gemme! Når du har gemt, så skift til “Github Desktop“, der vil se omtrent sådan ud:

    Her har Github Desktop registreret ændringerne, der er lavet i kodefilerne. Det som er markeret med grønt er nyt, og det som markeres med rødt er kode, som er fjernet.

    Hvordan du skubber dine ændringer ind i Github (Push)

    Når du er tilfreds med din kode, skal den skubbes (pushes) til jeres repository på Github – således at din gruppe får nytte af dit arbejde. Gør sådan:

    Først skrives en besked til de andre (eller dig selv) om hvad du har lavet.

    Klik derefter på den blå knap “Commit to main“.

    Nu er din ændring klar til upload.

    Nu skal du klikke på den blå knap “Push Origin”. Og så uploades dine ændringer på Guthub websiden.

    Hvis du vil tjekke om din kode er tilføjet, så kan du klikke på “View on Github”. Her ser du resultatet:

    Læg mærke til den sidste linje, her kan du se “Commit beskeden” ved den fil som er ændret af dig.

    Når andre ændrer noget

    Når et af de andre gruppemedlemmer ændrer noget i jeres repo, så kan du hente deres kode i Github desktop. Klik på “Fetch Origin” (= hent fra originalen).

    Klik på “Fetch Origin”

    Nu opdager “Github Desktop”, at der er ny kode tilgængelig. Du henter den ved at klikke “Pull Origin”.

    Klik på “Pull Origin”

    Næste billede viser, at koden er opdateret:

    Og nu hvor du har den opaterede kode kan arbejdet fortsætte.

    Branch (Gren)

    Hvis du vil eksperimentere lidt med koden – uden at påvirke de andres arbejde, så kan du lave en forgrening (branch). Hvis dit eksperiment lykkes, så kan din forgrening blandes sammen med den øvrige kode.

    Her forgrenes koden

    I Github Desktop kan du oprette grene sådan:

    Her kan du selv lave en forgrening til eksperimenter.

    I den øverste linje kan du se, hvilken forgrening du arbejder på:

    I branchen kan du igen åbne ændre din kode, og pushe til dit repo som før. Her ses ændringerne:

    Ædringer ses i Github Desktop

    Nu kan du lave en “commit mesage” og pushe … som før.

    Klar til at pushe på grenen “eksperiment”.

    Pull Request

    Pull Request

    Den blå knap sender dig ind på Githubs webside, hvor du kan “merge” (= blande) den nye kode med den originale.

    Det gør man selvfølgelig kun hvis det er nyttigt.

    Hvis eksperimentet lykkes kan du lave en såkaldt “Pull Request”. Websiden på Github ser sådan ud:

    Github er klar til en pull request, hvor to grene blandes sammen.

    Så ånbes denne dialog:

    Nu kan grenene blandes (merge)

    Hvis du mener, at det er nyttigt at blande de to grene, så kan du vælge “Merge Pull Request”. Nu er grenene blandet sammen:

    Sammenblandingen af grenene er ok.

    I Network Graph kan du se, at de to grene “Main” og “Eksperiment” er blandet sammen:

    Tilbage til Main
    Samme sted kan du skifte fra en gren til en anden, så hvis du vil tilbage til main, da klik på Current Branch og vælg main.

    Branch er nu main

    Merge Conflict

    Hvad er en “merge conflict” for noget?

    En blandingskonflikt (merge conflict) opstår, når Github opdager, at den samme fil findes i to eller flere versioner. Det sker ofte, når to gruppemedlemmer arbejdeer med den samme fil, fx hvis flere har redigeret ./css/style.css.

    Blandingskonflikter kan også ske, når en forgrening giver flere varianter af den samme fil.

    Når konflikter optræder, kan de løses i Github Desktop. Her vil Github Desktop åbne Visual Studio Code i en visning, hvor du kan sammenligne kodelinjer – og markere, hvad der kan eller ikke kan bruges.

    Her kan du se, hvordan man løser en merge conflict i Visual Studio Code.

    Kilder

    Denne artikel og videoen er fremstillet ved hjælp af Open Sourde produkter:

    • Screen Capture: Open Broadcast Studio (OBS)
    • Video editor: Open Video Shot
    • Lyd: Audacity
    • Github Desktop
    • Github.com
    • Visual Studio Code (VSC)
  • How to pull new code from origial repository to a local forked repository

    How to pull new code from origial repository to a local forked repository

    In this thread on Stackoverflow you’ll find an easy method to pull new/updated code from an original repository to your local fork:

    # Add this in a terminal in the relevant directory:
    git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
    git fetch upstream
    
    # then: (like "git pull" which is fetch + merge)
    git merge upstream/master master
    
    # or, better, replay your local work on top of the fetched branch
    # like a "git pull --rebase"
    git rebase upstream/master

    After adding the upstream you only have to run the merge or rebase command now and then – whenever you know or suppose that the code was updated.

  • Github: The GitKraken GUI

    The GitKraken app is a GUI for Github. Some people may prefer a GUI solution. The video above will give an impression of the app.

    Branches

    A strong feature on Github is the concept of brances. Here you may experiment with some code. Later on the experiments can be merged with the master code ( origin master ).

    1. Create a branch.
    2. Chekout the branch ( that is: work on the branch ).
    3. Edit the file.
    4. Make sure that the branch is chosen.
    5. Stage the changed file(s).
    6. Edit the commit message.
    7. Push to Github.

    Go to Github. If everything is ok the changes should be stored.

    Merge a branch to origin master

    When you’re satisfied with the code in the branch, you may want to merge the new work with the stem of the tree. The stem is called ‘origin master’. In GitKraken rightclick on remote / master. A popup menu will let you merge from the branch to the master:

     

    Click on the merge option. Then write a commit message, and click on Push.

    On the Github web page you’ll be able to follow all the comitted changes:

    Above you see the content of the file, and the history. The image below is the online version of the branches:

    ( The screencast and screendumps were made on a Ubuntu Linux system. )

Enable Notifications OK No thanks

We use cookies - more information

Multimusen.dk will set a few cookies from Doubleclick, Google and the Social Media plugins they ay set some cookies. Some of my pages use APIs - such as YouTube, LinkedIn, Google Fonts, Google Maps, Mapbox, Spotify, Jetpack, Twitter, Facebook &c.. Such plugins may set the odd cookie.

Close