Versionshantering med Git 1

Denna uppgift går ut på att du skall kunna göra de mest grundläggande sakerna i 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

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