# Välkomna <!-- Put the link to this slide here so people can follow --> slide: https://hackmd.io/@1DjJVCYUR0ipYLJJ7gnfzQ/S1TbJ5ZUu --- ## Git/markdown skola med William. ***- Git i terminalen, windows/mac/linux.*** ***- Vi ska även kolla lite på markdown*** --- ### Git basics - Version Control - Spårbarhet - Inget mer oroande över "vad fan var det jag ändrade sist?" --- ### Basic kommandon för att enkelt starta igång projekt. - <code class="blue">git config --global user.name "username"</code>: Sätter ert användarnamn globalt, alltså för alla repos etc. - <code class="blue">git config --global user.email "email@example.com"</code>: sätt er commit mail adress. --- ### Ansluta till github: - Mac/linux ```bash= ls -al ~/.ssh #Kolla om det finns någon av dessa: # id_rsa.pub # id_ecdsa.pub # id_ed25519.pub ``` - I windows ligger dessa under C:\Users\{dittanvändarnamn}\.ssh\id_rsa.pub Har ni ingen SSH key kan ni läsa på [Github Docs](https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh) hur man gör. Ni måste även koppla er nyckel till ert github konto. #### Ansluta till github ![](https://i.imgur.com/nj6BGOZ.png) I din repo hittar du din ssh anslutning när du klickar på code knappen. ```bash= #SSH variant git remote add origin git@github.com:Krut-Oskar/git_test.git #HTTPS variant git remote add origin https://github.com/Krut-Oskar/git_test.git ``` Nu är origin namnet på din remote repo. Du kan nu pusha saker från din lokala repo till din remote(github) direkt från terminalen. --- ### VAD FAN ÄR ETT LOCAL REPO DÅ? Jo det ska jag berätta. SKOJA vet typ inte men kan förklara lite hur det funkar. - Först måste ni ha en liten mapp för ert projekt. ```bash= #Basically samma för alla OS. cd /home/user/dev mkdir mittnyaprojekt cd mittnyaprojekt ``` - Initiera git i den här mappen ```bash= git init ``` - skriv <code>git status</code> - Nu borde det se ut så här ish. ![](https://i.imgur.com/iKgi5xH.png) - Nu kan ni slänga in lite filer och skriva <code>git status</code> igen och det borde se ut så här. ![](https://i.imgur.com/759SlXB.png) - Dett betyder att filerna inte är spåras av git. Men git ser att de finns i mappen. - För att börja spåra dessa filer med git måste de läggas till. Det gör vi med <code>git add {filnamn}</code>. - Här har jag endast börjat spåra README.md men inte python filen. Alla ändringar jag gör till den filen kommer nu sparas av git. ![](https://i.imgur.com/L6TXiEa.png) - För att commita den här ändringen så att git sparar ner den använder jag <code>git commit -m "mitt meddelande"</code> ![](https://i.imgur.com/FyFUTmS.png) --- ## Nu har jag en local repository. - Att "committa" är som att trycka "Spara som.." i Word. - Comitten sparar de ändringar som ni gjort till alla filer som är addade och spåras av git. - Om ni gör det ofta blir det lätt att gå tillbaka och se vad ni gjort om ni får errors. - Filen som är comittad försvinner även från <code>git status</code> om den inte ändras, så fort den ändras kommer det synas ![](https://i.imgur.com/zrfquvq.png) - Nu är ni redo för att pusha till github! --- ## Pusha till github - Nu kan ni lägga till er remote repository som jag visade i början. - För att skicka det som är sparat och ändrings historiken till github använder vi <code>git push</code> kommandot. ```bash= git push origin main. #origin är namnet på remote och main är namnet på den branch vi pushar till. ``` - Nu borde dina filer ha skickats till ditt github repo. ### Så enkelt var det! --- ![](https://i.imgur.com/8PcrAsU.jpg) --- ## Git pull/clone/fetch ### Clone <code>git clone {url}</code> Kopierar en repository till den directory du är på din dator. Används för att ladda ner kod från github t.ex. ### Fetch <code>git fetch {url}</code> Laddar ner ny data från specifierad repository men ändrar inget i din lokala repository. ### Pull <code>git pull {url}</code> Laddar ner ny data från specifierad repository ***och mergar den med ditt nuvarande lokala repository.*** Så var försiktiga med detta bör endast användas med en "tom" lokal repository. ***Alla sparade ändringar som endast finns lokalt kommer att skrivas över.*** --- ## Extra ### Git log <code>git log</code> Används för att se commit historik. ### Git ammend <code>git commit --ammend</code> Används för att t.ex. lägga till en till fil i en commit om man glömt en. Den ersätter din tidigare commit så du kommer bara se en commit i historiken. ### Git restore <code>git restore {filename}</code> <code>git restore --staged {filename}</code> Används för att återställa en fil till hur den såg ut i den senaste commiten (eller clonen). Om du har råkat adda en fil som du inte ville adda kan du med flaggan --staged ta bort den så att git slutar spåra den. ### Läs mer [Gits egen hemsida!](https://git-scm.com/doc) [Github docs.](https://docs.github.com/en)
{"metaMigratedAt":"2023-06-15T22:43:09.667Z","metaMigratedFrom":"YAML","title":"Talk slides template","breaks":true,"description":"View the slide with \"Slide Mode\".","contributors":"[{\"id\":\"d438c954-2614-4748-a960-b249ee09dfcd\",\"add\":7300,\"del\":2336}]"}
    195 views