git august 2008

Preview:

DESCRIPTION

talk about git, at the Ninjava meeting, August 2008, Shibuya

Citation preview

git

pre

• sell / convince ?

• does it improve my work conditions ?

• do I know enough ?

• am I convinced enough ?

• no darcs, no hg exp

shallow bits about git and github

links to

meaty stuff

included

git

• the stupid content tracker

• a fast distributedrevision control system

• tracks history of trees

• has a toolkit design

• not an evolution of svn

! svn

gns

• git is not svn

• obviously .git instead of .svn

• svn stores delta to files, git doesn’t

• git tracks history of trees...

git objects

commit

tree

blob

tree

blobblob

HEAD

commit

/

Rakefile

/lib

engine.rbwhatever.rb

HEAD

git objects

• trees

• blobs

• commits

• tags

• (branches / pointers to commits)

directed acyclic graph

commit

tree

blob

tree

blobblob

HEAD

commit0

tree

blob

tree

blobblob

HEAD

commit1

blob'

tree

every version ?• not storing deltas ?

• wasted space ?

• packed format

from the git peepcode, by Scott Chacon

.git

• all those objects reside in .git(no CVS or .svn in each dir)

• .git != .svn

• .git is the [local] repository

• .svn ~= .git/index

work copy repository

svn diff

svn commit

svn checkout

svn update

svn

git pull / git rebase

git

git diff head

git clone

git diff

git addgit commit

git commit -a

git push

git fetch

work copy local repoindex remote repo

work copy local repoindex remote repo

work copy remote repo

.git

.svn(s)

.git/index

branching, cheap

c0

t0

b0

t1

b1b2

HEAD

b3

t2

c1

mastertag v0.1.0

c0

t0

b0

t1

b1b2

b3

t2

c1

mastertag v0.1.0

HEAD

crazy_idea

git branch crazy_idea; checkout crazy_idea

git commit

c0

t0

b0

t1

b1b2

b3

t2

c1

mastertag v0.1.0

HEAD

crazy_idea

c2

...

git checkout master

c0

t0

b0

t1

b1b2

b3

t2

c1

mastertag v0.1.0

HEAD

crazy_idea

c2

...

git merge crazy_idea

c0

t0

b0

t1

b1b2

b3

t2

c1

mastertag v0.1.0

HEAD

c2

...

c3

c0

c1

master

tag v0.1.0

HEAD

c2

c3

crazy_idea

git merge crazy_idea

(another representation)

c0

c1

master

tag v0.1.0

HEAD

c2

cZ

crazy_idea

c3lol_branch

c3

(funky graphs)

c0

c1

master

tag v0.1.0

HEAD

c2

c3

crazy_idea

git remote add toto git://github.com/toto/project

git fetch toto

c0

c1

master

tag v0.1.0

HEAD

c2

c3

crazy_idea

cA

toto/project

c0

c1

master

tag v0.1.0

HEAD

c2

c3

crazy_idea

cA

toto/project

c4

git checkout toto/master; vi whatever; git commit

links to

meaty stuff

included

git people

Linus

http://video.google.com/videosearch?q=linus+git

video.google.com [ linus git ]

Scott Chacon

Oliver + Ryan

http://tomayko.com/writings/the-thing-about-git

http://osteele.com/archives/2008/05/my-git-workflow

github

github

• one of the actors of current git success

• http://github.com/rails

• source code, lots of it

description

last commit

the code

the readme

(branch)

FORK !

git fetchgit merge

social code hosting

• I follow you, you follow me

• I fork you

• I comment on your commit

• we wiki

social code hosting

• no conversations in the issue tracker...

• no conversations in the source code ?

• mailing list integration ?

• “binary” distributions ?

On Sun, Aug 10, 2008 at 9:50 PM, Pablo Q. <paqs140...@gmail.com> wrote:>> I have a process that must run on Sunday but by some unknown reason it> doesn't work, here is the code that I'm using:

Hi Pablo,

this was probably fixed in release 1.0.6 of the rufus-scheduler gem :

http://github.com/jmettraux/rufus-scheduler/tree/master/CHANGELOG.txt#L31-32http://rubyforge.org/tracker/index.php?func=detail&aid=20476&group_id=4812&atid=18584

You'll find the mailing list for the rufus-stuff at :

http://groups.google.com/group/rufus-ruby

Best regards,

-- John Mettraux - http://jmettraux.wordpress.com

http://github.com/jmettraux/rufus-scheduler/tree/master/CHANGELOG.txt#L31-32

! github

more git

git more

• http://github.com/schacon/ticgit

• http://github.com/orlandov/gitwiki

• http://github.com/sr/git-wiki

• http://github.com/jmettraux/git-expense-tracker

• http://github.com/wesabe/robot-army-git-deploy/

not today• behind the firewall, gitorious ?

• no words about rebasing

• nothing about the toolkit aspect

• git stash

• scenarii, dictator and lieutenant, blessed repo, ...

• submodules (trees pointing to commits)

• ...

Recommended