Till KTH:s startsida Till KTH:s startsida

Visa version

Version skapad av Rasmus Kaj 2013-03-27 11:09

Visa < föregående | nästa >
Jämför < föregående | nästa >

Git

Vi har börjat att experimentera med Git i KTH Social för att få ett mer effektivt verktyg för brancher.

Cheat sheets mm

Gitflow: https://github.com/nvie/gitflow/wiki/Command-line-arguments
Git cheatsheets: http://help.github.com/git-cheat-sheets/

Pro Git är en bok som går att läsa online och verkar vettig.

Grafiska klienter

Mac OS X: gitx
Linux: gitg
Windows: om man kör git i cygwin, vilket verkar vara det som gäller, kan man även installera gitk (med cygwin-installeraren), en Tcl/Tk-klient som man kan köra om man har startat en X-server i Windows (finns i WIKS).

I t.ex Fedora >16 får man automatisk komplettering av branch-namn mm i bash. Finns också för zsh.

Migrera ifrån SVN

  1. Se till att skapa ett GIT-repo i KTH:s gitlite (skapa ett nytt block i gitolites config-fil för repot, görs genom att klona gitolite@social-git.sys.kth.se:gitolite-admin) 
  2. git svn clone https://svn-1.sys.kth.se/svn/infosys-private/repos/infosys-private/trunk/projekt --no-metadata
  3. cd projekt
  4. git remote add origin gitolite@social-git.sys.kth.se:projekt
  5. git push -u origin master

Git flow

Är en uppsättning regler med "best practice" för hantera olika brancher i utvecklingscykeln, och ett verktyg, git flow som hjälper till med rutinarbetet för att arbeta med git enligt dessa regler.

Snabb intro: http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/
Bakgrund: http://nvie.com/posts/a-successful-git-branching-model/

Git up

Ett smidigt sätt att hålla sina branchar uppdaterade mot remote repository i stället för att köra "git fetch" eller "git pull". https://github.com/msiemens/PyGitUp (eller https://github.com/aanand/git-up/ om man föredrar ruby framför python).  Ser till att alla lokala brachar är updaterade mot respektive branch på remoten, för att slippa en snårskog av mergningar efteråt.

Git byter snart default för vad som pushas när man gör git push från matching till simple.  Om man använder git up är det en bra idé att sätta push.default till matching för att pusha alla branchar som finns både lokalt och remote.