Stark Signal » Git http://starksignal.se Just another WordPress weblog Sun, 01 Jul 2012 16:35:42 +0000 sv-SE hourly 1 http://wordpress.org/?v=3.4.1 Få tillbaka gamla filer via Git http://starksignal.se/fa-tillbaka-gamla-filer-commits-git http://starksignal.se/fa-tillbaka-gamla-filer-commits-git#comments Tue, 11 Jan 2011 14:29:34 +0000 Jonas Arnklint http://starksignal.se/?p=567 I´m gonna git you sucka!

I´m gonna git you sucka!

Ännu en “note to self”, kring en fråga som kommer upp ganska ofta nu förtiden. Hur får man tillbaka en gammal ändring i Git? Det händer trots allt att man gör misstag som commitas, vi är väl människor säg. Och Git är ju faktiskt ypperligt i dessa lägen.


git show treeish:file

Där treeish är en commit, branch eller tag och file är sökvägen till filen du vill kolla närmare på.

Efter det kan man skriva över nuvarande fil med filen som den såg ut då:


git show treeish:file > current_file

Kontrollera därefter korrigeringen:


git diff

Ok? Commita och pusha upp!

]]>
http://starksignal.se/fa-tillbaka-gamla-filer-commits-git/feed 0
Installera Git på Ubuntu eller Debian (server) http://starksignal.se/installera-git-pa-ubuntu-eller-debian-server http://starksignal.se/installera-git-pa-ubuntu-eller-debian-server#comments Sat, 19 Jul 2008 13:38:37 +0000 Jonas Arnklint http://starksignal.se/index.php/2008/07/19/installera-git-pa-ubuntu-eller-debian-server/ Steg 1

Installera git på server och klient:

sudo apt-get install git-core
sudo apt-get update
sudo apt-get dist-upgrade

Steg 2

Installera gitosis på servern:
sudo apt-get install python-setuptools


mkdir ~/src
cd ~/src
git clone git://eagain.net/gitosis.git

Installera:

cd gitosis
sudo python setup.py install

Konfigurera:

sudo adduser \
--system \
--shell /bin/sh \
--gecos 'git version control' \
--group \
--disabled-password \
--home /home/git \
git

]]>
http://starksignal.se/installera-git-pa-ubuntu-eller-debian-server/feed 0
Note to self: Git Push http://starksignal.se/note-to-self-git-push http://starksignal.se/note-to-self-git-push#comments Mon, 14 Jul 2008 12:21:03 +0000 Jonas Arnklint http://starksignal.se/index.php/2008/07/14/note-to-self-git-push/ Jag tenderar att glömma kommandot för att pusha (lägga upp ändringar) i det avlägsna Git repositoryt jag sitter med.
git push git+ssh://user@doman.se/home/user/work/repo.git
Stupid me. Men Git rular fortfarande.

Klona (kopiera och tanka hem) ett projekt:
git clone git+ssh://....

Mer om Git.

]]>
http://starksignal.se/note-to-self-git-push/feed 0
Ut SVN in med GIT http://starksignal.se/ut-svn-in-med-git http://starksignal.se/ut-svn-in-med-git#comments Thu, 26 Jun 2008 12:51:31 +0000 Jonas Arnklint http://starksignal.se/index.php/2008/06/06/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!

]]>
http://starksignal.se/ut-svn-in-med-git/feed 3