Differences

This shows you the differences between two versions of the page.

Link to this comparison view

git_1 [2019-08-30 12:54]
Joakim Forsgren
git_1 [2022-07-18 13:20]
Line 1: Line 1:
-====== Versionshantering med Git 1 ====== 
-Denna uppgift går ut på att du skall kunna göra de mest grundläggande sakerna i Git. 
  
-===== Länkar ===== 
-  * [[http://git-scm.com/book | Git - Book]] - Här finns det mesta, läs kap 2 för att få en grund 
-  * [[https://git-scm.com/docs| Git - Docs]] - för att se alla kommandon och läsa vad man kan göra med dem. 
-  * [[https://docs.gitlab.com/ee/gitlab-basics/start-using-git.html | Gitlab start using git]] 
-  * [[http://www.ralfebert.de/blog/tools/git_screencast/ | En video]] -  Mycket bra tycker jag 
-  * [[http://www.republic.se/artiklar/versionshantering-med-git | Versionshantering med Git]] - väldigt enkel, bara det mest grundläggande 
-  * [[http://www.kernel.org/pub/software/scm/git/docs/user-manual.html | Manual]] 
-  * [[https://www.youtube.com/watch?v=4XpnKHJAok8 | Linus Torvalds ]] - denna bör man se, typ allmänbildning 
- 
-===== Git ===== 
-Git är ett modernt och smart versionshanteringssystem. Målet är att ni skall lära er de mest grundläggande kommandona i git under denna kurs.  
-Att ha en versionshantera när man programmerar tycker jag är ett måste. Om man är fler än en är det ett ett måste. 
-{{::lifecycle.png|}} 
-Bilden är från [[http://git-scm.com/doc]] 
- 
-==== Genomgång ==== 
-== Kommandon som körs under första genomgången ==  
-<code bash> 
-git config 
-ex. 
-git config --global user.name "Förnamn Eternamn" 
-git config --global user.email "din@email.nu" 
-git config --global core.editor "vim" 
-git config --global core.excludesfile ~/.gitignore 
- 
-git help 
-git help log 
-git help <verb> 
-git log --oneline --graph --decorate --all --color 
-git init 
-git clone 
-git add 
-git status 
-git diff 
-git diff --cached 
-git commit 
-git commit -m "Kommentar om detta commit" 
-git commit 
-git reset 
-git checkout 
-git push 
-git fetch 
-git pull 
-</code> 
- 
-De kommandon du kommer att behöva som ett minimum: 
-<code bash> 
-# för att se hur läget är 
-git status 
-# för att lägga till alla filer 
-git add "file or pattern" 
-# för att "skicka" in i den lokala git 
-git commit -m "ett logg meddelande" 
-# skicka upp det till remote 
-git push 
-# kolla loggen 
-git log 
-</code> 
- 
-== ställ in .gitconfig. se ex nedan:== 
-<code ini>  
- [core] 
-   editor = /usr/bin/vim # ni får välja annan om ni vill 
-   excludesfile = {path-to-home-dir}/.gitignore 
- [alias] 
-   # här kan ni gärna lägga in fler 
-   tree = log --oneline --graph --decorate --all --color 
-   st = status 
- [user] 
-   name = Joakim Forsgren 
-   email = jf@oedu.se 
- [color] 
-   branch = auto 
-   diff = auto 
-   interactive = auto 
-   status = auto</code> 
-== Ställa in .gitignore == 
-<code bash> 
-# Dessa vill man inte ha med 
-.DS_Store 
-.buildpath 
-.project 
-.metadata 
-.settings 
-.idea 
-# diverse .bak filer vill man inte heller ha med 
-*.tmp 
-*.bak 
-*.swp 
-</code> 
- 
-Om ni vill kan ni få en lite annorlunda prompt och några andra inställningar. 
-<code bash> 
-git clone ~jf/Public/configure 
-cd configure/ 
-./install.sh 
-source ~/.bashrc 
-</code> 
- 
-1. 
-Skapa en katalog som heter temp_git och några filer i denna katalog, när det är gjort kör följande kommandon: 
-<code bash> 
-# för att se hur läget är 
-git status 
-# för att skapa en git repro 
-git init 
-# för att lägga till alla filer 
-git add . 
-# för att se hur läget är 
-git status 
-# för att "skicka" in i den lokala git 
-git commit -m "ett logg meddelande" 
-# för att se hur läget är 
-git status 
-# ändra i en fil 
-# för att se hur läget är 
-git status 
-# för att "skicka" in i den lokala git 
-git commit -m "ett logg meddelande" 
-# kolla loggen 
-git log 
-# kolla loggen på annat sätt, finns massa olika sätt, hitta ett som är bra och gör ett alias för det. 
-git log --oneline --graph --decorate --all --color 
-# ta bort en fil och kör git status 
-# hämta tillbaka filen med git checkout 
-# ta bort filen igen 
-# se till att commita att filen är borttagen 
-# fortsätt att testa lite vad som händer, kolla tex vad som händer och man checkar ut den första versionen 
-</code> 
- 
-<php> 
-/* 
- 
-==== Uppgifter efter genomgång: ==== 
-**OBS!** //Se till att ni har git installerat och att ni har en .gitconfig // 
-=== 1. Öva kommandon === 
-Skapa en katalog och skapa ett git repro i denna katalog. Tanken är att du skall prova att skapa filer, ändra filer och testa de olika kommandona. Ej push och pull, det blir på uppgift 2. 
- 
- 
-=== 2. Börja versionshantera /var/www/html och använd bitbucket som remote === 
-  - Skapa en lämplig .gitconfig i roten på din användare. 
-  - Skapa ett git-repo i /var/www/html 
-  - Skapa en .gitignore  
-  - Lägg till alla dina filer. 
-  - Gör ett commit  
-  - Skapa en användare på bitbucket. 
-  - På bitbucket skall du skapa ett repository (ert förnamn typ). 
-  - Se till att få in all din kod till bitbucket. 
-  - Dela ut detta repository till mig **jfoeduse**. 
-  - Det kan vara en bra ide att lägg in sin publika nyckel på bitbucket för att slippa skriva sitt lösen varje gång. 
- 
-==== OBS! Viktigt!! ==== 
-Från och med nu skall ni göra commit för varje sak ni gjort, tänk på att skriva lämpliga meddelanden.\\ 
-tex:\\ 
-''Att spara inlägg för gästboken klart''\\ 
-eller\\ 
-''Nu visas inläggen i gästboken korrekt''\\ 
- 
-Ni skall skicka in er kod till bitbucket efter varje lektion (eller ev oftare). Ni jobbar enskilt på denna kurs så kommandona ovan borde räcka till det mesta ni behöver göra. 
- 
- 
-===== Github ===== 
-När man pratar om git kommer så är det svårt att undvika github. Ni skall lära er hämta saker härifrån, ni skall skapa ett konto på github och ni skall skapa ett repository. Ni skall hämta och skicka in till ert repository. Ni skall även pröva att dela ett repository med någon annan av era klasskompisar (så att de kan skriva i till det). 
- 
-Det är gratis med ett konto på github så länge det man gör är "public". Om ni gör något som ni inte inte vill att någon annan skall komma år så måste ni välja något annat ställe att lägga det på. Jobbar ni ensamma och endast på vår student server så kan ni versionshantera lokalt. 
- 
-==== 1. Skapa ett konto och ett repository ==== 
-Skapa ett konto på [[https://github.com | github]] och skapa sedan ett repository.\\ 
-{{github_1.png?direct&200 |}} {{github_4.png?direct&200|}} 
- 
-==== 2. Hämta ut "koden" till student servern ==== 
-Ställ er på det ställe ni vi hämta ut koden. 
-<code bash> 
-# sätt först några värden, ditt namn och email och ev editor för loggmeddelanden 
-git config --global user.name "Förnamn Eternamn (ert_login_på_github)" 
-git config --global user.email "din@email.nu" 
-git config --global core.editor "vim" 
-# hämta ut koden 
-git clone https://github.com/ert_login/ert_repository.git 
-# gå in i ert repository 
-cd ert_repository 
-# kolla vilka filer det finns där 
-ls -la 
-</code> 
-==== 3. Skapa några filer och skicka upp till github ==== 
-Skapa några filer i denna katalog, när det är gjort kör följande kommandon: 
-<code bash> 
-# för att se hur läget är 
-git status 
-# för att lägga till alla filer 
-git add * 
-# för att se hur läget är 
-git status 
-# för att "skicka" men inte till github utan vara in i den lokala git 
-git commit -m "ett logg meddelande" 
-# för att se hur läget är 
-git status 
-# ändra i en fil 
-# för att se hur läget är 
-git status 
-# för att "skicka" men inte till github utan vara in i den lokala git 
-git commit -m "ett logg meddelande" 
-# skicka upp det till github, måste nog ange login och lösen 
-git push 
-# kolla loggen 
-git log 
-</code> 
-Gå till github och kolla hur ditt projekt ser ut nu. 
- 
-==== 4. Dela ditt projekt med någon i klassen och få något projekt delat till dig. ==== 
-Kolla ''git status'' och ''git log'' mellan varje steg för att få kläm på vad som händer. Gå ihop 2 och eller 3 och 3. 
-  - Dela ditt projekt med de du jobbar med (det gör man på github) 
-  - Hämta ut din kompis projekt 
-  - Ändra i några filer 
-  - Skicka in dina ändringar 
-  - Be din kompis hämta dina ändringar (''git fetch'' och sen ''git merge'' alternativt bara en ''git pull'') 
-  - Be din kompis ändra lite också 
-  - Be din kompis skicka in sina ändringar 
-  - Hämta ut din kompis ändringar 
- 
-*/ 
-</php>