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
- Git - Book (sv) - Här finns det mesta, läs kap 2 för att få en grund
- Git - Docs - för att se alla kommandon och läsa vad man kan göra med dem.
- Git - Documentation - Här kan man se några filmer och och länk till manualer.
- git-cheatsheet - git cheatsheet.
- 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. Bilden är från http://git-scm.com/doc
Genomgång
Kommandon som körs under första genomgången
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
De kommandon du kommer att behöva som ett minimum:
# 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
ställ in .gitconfig. se ex nedan:
[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
Ställa in .gitignore
# 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
Om ni vill kan ni få en lite annorlunda prompt och några andra inställningar.
# Fixa en git promt (om ni inte har) cat ~jf/Public/git_promt >> ~/.bashrc # Skapa en git config (om ni inte har) cp ~jf/Public/git_config ~/.gitconfig # ladda om .bashrc source ~/.bashrc
*/ </php> 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:
# för att se hur läget är git status # för att skapa en git repro git init #skapa en fil echo "Hej" > fil1 # för att lägga till alla filer git add . # för att se hur läget är git status #lägg till i en fil echo "rad2" >> fil1 # 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