Ut SVN in med GIT
SVN
Jag har tidigare använt SVN till alla mina interna och några externa projekt. SVN hjälpte mig att hålla koll på ändringar och spara gamla versioner av den kod jag skrivit. Jag kan alltså gå tillbaka i tiden och aktivera en gammal version, såväl som att bygga “förgreningar” till ett projekt och sedan samanfoga det med den ursprungliga koden. SVN är alltså ett versionshanteringssystem (phew, långt ord). SVN ihop med Capistrano gör det dessutom busenkelt att lägga upp filer och deploya projekt. Nog om SVN, den gamle trotjänaren.
GIT
Jag tänkte nu gå över helt och hållet till GIT. En av anledningarna är att Ruby on Rails och andra projekt i Railsvärlden nu migreras till GIT och GitHUB. En annan god anledning är att GIT är bättre, snabbare och enklare att hantera.
GIT är:
- Öppen källkod
- Skapat av Linus Thorvalds
- Distribuerad versionshantering
- Arkiv kan kommas åt via HTTP, SSH, FTP och nsync
- Alla användare har varsin lokal kopia av ett arkiv vilket gör
- Snabb åtkomst
- Offline som online
- Byggt med snabbhet som mål
- Kapabelt att hantera stora projekt effektivt
- Smart och sparar endast en enda .git fil i roten på ditt arkiv
Nu kör vi igång
Börja med att ignorera filer du inte vill ska hamna i ditt arkiv genom att skapa filen .gitignore och ange exempelvis .DS_Store i den (ja, jag arbetar med Mac).
Skapa ett “arkiv”:
$ cd work/gittest/
$ git init
Initialized empty Git repository in .git/
$ git add .
$ git commit -m "Skapade ett repository
Du lägger till filer likt SVN:
$ git add fil1 fil2
Innan vi utför en commit, så kan vi se vad som kommer att läggas in i arkivet genom:
git diff --cached
För att utföra en commit utan att behöva lägga till alla filer använder du:
git commit -a
Bra läsning:
http://www.kernel.org/pub/software/scm/git/docs/repository-layout.html
http://groups.google.com/group/peepcode/browse_thread/thread/fe6f9c1fc9d6e725 – Ingorera .DS-store globalt. (Användbart för macanvändare!
Vad tycker du?
Kommentarsmöjligheten stängd för detta inlägg.
juli 14th, 2008, 2:39 e m
[...] Mer om Git.Andra bloggar om: git, push [...]
augusti 13th, 2008, 4:21 f m
Tjena!
Tack för en bra introduktion. Hade i åtanke att själv börja använda mig av svn men sedan läste jag på om Git på din blogg och blev övertygad. Fortsätt gärna med fler Git tips och tutorials.
Är bara lite nyfiken och undrar om du har några egna offentliga projekt uppe på GitHub?
Btw, släng in den här länken som förklarar hur man fixar en global ignore på .DS_Store-filer.
http://groups.google.com/group/peepcode/browse_thread/thread/fe6f9c1fc9d6e725
augusti 13th, 2008, 11:13 f m
Hej,
glad att du gillade det jag skrivit om Git.
Jag har tyvärr inga publika projekt på GitHub, men det är inte helt omöjligt att det kommer… Håll utkik här, jag lär posta när det händer något.