Bilden är copyright-skyddad och tagen från http://flossmole.org/content/revision-control-matrix-june-2011

Manual

Subversion (SVN)

En vanlig arbetsordning med svn följer. Exemplet förutsätter att ett lokalt arkiv är skapat sedan tidigare med 'svn checkout'.


  1. Ladda ner eventuella ändringar med 'svn update'.
  2. Ändra i filen min_fil.py.
  3. Kontrollera att inga ändringar gjorts centralt med 'svn update'.
  4. Ladda upp ändingarna och ett meddelande med 'svn commit'.
add
Markerar en lokal fil eller mapp för addering till arkivet vid nästa commit.

Exempel: svn add min_nya_fil.py    # markerar filen min_nya_fil.py för addering
checkout URL, co URL
Hämtar hem senaste versionen av arkivet. URL:en är url-adressen till arkivet. Efter detta kan man om man vill ange ett namn som mappen ska få. Det går även att specificera en tidigare version med flaggan '-r'. OBS! Detta görs vanligtvis bara första gången det lokala arkivet ska skapas. Se update.

Exempel: svn checkout http://svn-project.com/projekt1    # hämtar hem senaste version, mappen projekt1 skapas
Exempel: svn co http://svn-project.com/projekt1    # samma som ovan, co är en kortversion
Exempel: svn checkout http://svn-project.com/projekt1 mitt_projekt    # hämtar hem senaste version till mappen mitt_projekt
Exempel: svn checkout -r 45 http://svn-project.com/projekt1    # hämtar hem version 45
commit, ci
Skickar in ändringar, adderar filer, raderar filer till arkivet. Med flaggan '-m' kan man lägga till ett meddelande som beskriver ändringen. Om flaggan inte anges öppnas (om möjligt) en standardeditor upp där ett meddelande kan skrivas in.

Exempel: svn commit    # skickar in ändringar, försöker använda standardeditor för meddelande
Exempel: svn ci    # samma som ovan, ci är en kortversion
Exempel: svn commit -m Åtgärdat bugg nr 567.    # skickar in ändringar och bifogar ett meddelande
delete, del, remove, rm
Markerar en lokal fil eller mapp för radering från arkivet vid nästa commit. OBS! Filen/mappen tas även bort lokalt.

Exempel: svn remove min_fil.py    # markerar filen min_fil.py för radering
Exempel: svn rm min_fil.py    # samma som ovan, rm är en kortversion
diff
Jämför olika versioner av filer och visar skillnaderna. Man kan ange vilken version man vill jämföra med genom att använda flaggan '-r'.

Exempel: svn diff    # visar skillnaden på alla lokala filer och senaste nerladdade versionen
Exempel: svn diff min_fil.py    # visar skillnaden på lokala filen och den senast nerladdade versionen
Exempel: svn diff min_fil.py -r 102    # visar skillnaden på lokala filen och den i version 102
log
Visar meddelanden bifogade till tidigare versionsuppdateringar. Man kan ange en specifik version med flaggan '-r'.

Exempel: svn log    # visar alla meddelanden
Exempel: svn log -r 42    # visar meddelandet för version 42
move
Markerar en fil eller mapp för namnbyte i arkivet. OBS! Filen/mappen ändras även lokalt.

Exempel: svn move min_fil.py din_fil.py    # döper om filen min_fil.py till din_fil.py
revert
Återställer en fil till senaste nerladdade version.

Exempel: svn revert min_fil.py    # återställer filen min_fil.py
update, up
Jämför lokala filer och mappar med senaste version av arkivet. Laddar ner centralt ändrade filer.

Exempel: svn update    # uppdaterar lokala arkivet och centrala arkivet
Exempel: svn up    # samma som ovan, up är en kortversion




Git

En vanlig arbetsordning med git följer. Exemplet förutsätter att ett lokalt arkiv är skapat sedan tidigare med 'git clone'.


  1. Ladda ner eventuella ändringar med 'git pull'.
  2. Ändra i filen min_fil.py.
  3. Lägg till filen till commit-lista med 'git add'.
  4. Ladda upp ändringarna och ett meddelande till det lokala arkivet med 'git commit'.
  5. Ladda upp commits till det centrala arkivet med 'git push'.
add
Markerar en lokal fil eller mapp för addering till det lokala arkivet vid nästa commit.

Exempel: git add min_nya_fil.py     # markerar filen min_nya_fil.py för addering
clone URL
Hämtar hem senaste versionen av det centrala arkivet. URL:en är url-adressen till arkivet. Efter detta kan man om man vill ange ett namn som mappen ska få.

Exempel: git clone https://github.com/gituser/gitproject     # Hämtar senaste versionen
Exempel: git clone https://github.com/gituser/gitproject Hej     # Hämtar senaste versionen i en mapp som heter Hej
commit
Skickar in ändringar till det lokala arkivet. Med flaggan '-m' kan man lägga till ett meddelande som beskriver ändringen. Om flaggan inte anges öppnas (om möjligt) en standardeditor upp där ett meddelande kan skrivas in.

Exempel: git commit     # skickar in ändringar, försöker använda standardeditor för meddelande
Exempel: git commit -m 'Åtgärdat bugg nr 567.'     # skickar in ändringar och bifogar ett meddelande
diff
Jämför olika versioner av filer och visar skillnaderna.

Exempel: git diff     # visar skillnaden på alla lokala filer och senaste nerladdade versionen
Exempel: git diff min_fil.py     # visar skillnaden på den lokala filen och den senast nerladdade versionen
log
Visar meddelanden bifogade till tidigare commits.

Exempel: git log     # Visar alla meddelanden
mv
Markerar en fil eller mapp för namnbyte i arkivet. OBS! Filen/mappen ändras även på datorn.

Exempel: git mv min_fil.py din_fil.py     # Döper om filen min_fil.py till din_fil.py
pull
Jämför lokala filer och mappar med senaste version av arkivet. Laddar ner centralt ändrade filer.

Exempel: git pull     # uppdaterar lokala arkivet
push
Laddar upp alla lokala commits sedan senaste hämtning av projektet till det globala arkivet.

Exempel: git push origin master     # Uppdaterar det centrala arkivets master branch
reset
Tar bort en fil från commit-listan, om ingen fil anges gäller det för alla filer i listan. (motsatsen till add).

Exempel: git reset min_fil.py     # Tar bort min_fil.py från commit-listan
Exempel: git reset     # Tar bort alla filer från commit-listan
rm
Markerar en lokal fil eller mapp för radering från arkivet vid nästa commit. OBS! Filen/mappen tas även bort från datorn.

Exempel: git rm min_fil.py     # markerar filen min_fil.py för radering
status
Visar vilka filer/ mappar som kommer laddas upp vid nästa commit (staged files), vilka filer/ mappar som inte kommer laddas upp men som redan finns i arkivet (unstaged files) och vilka filer som inte kommer laddas upp och inte finns i arkivet sedan innan (untracked files).

Exempel: git status     # Visar statusinformation om alla filer/ mappar i nuvarande mapp och undermappar