git

Post on 20-May-2015

1.234 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

GitAn intro to Git Source Control Management

Say what?

Source Control Management

like SVN, CVS,.. but better!

Linus Throvalds (april 2005)

Linux Kernel

Junio Hamano (july 2005)

a stupid person!

Ok, but why?

Offline

Distributed

Branching

Because it’s fucking fast, that’s why!

How git works Offline

world

local

How git works

server

local

local

local

Distributed

How git works Branching

master mergecommit commit

commitcommit

commit

commitfeature

feature

Repository

unstaged

stagedlocal

repositoryremote

repository

git add <files>

git commit git push

Our Workflow

git checkout -b cool_feature

do some fun code stuff, drink a mojito

git fetch master

git rebase origin/master

git checkout master

git merge cool_feature

Useful commands and files

git init

git add

git commit

git push

git pull

git clone

.gitignore

‣ repository setup

‣ add files to queue for next commit

‣ commit queued files

‣ push commit(s) to remote repository

‣ fetch changes from remote repository

‣ clone repository into a local directory

‣ ignore specific files by adding them here

Cool featuresUhm.. Okay...

Cool features

do some cool stuff

git stash

fix an irritating bug

git commit -a -m “Farewell, you bug!”

git stash apply

do some more cool stuff

stash

Cool features

fetch changes from another branch

rebase

master

feature

commit 1 commit 2 commit 4

commit 3

Cool features

fetch changes from another branch

rebase

master

feature

commit 1 commit 2 commit 4

commit 3

1 2 4

1 2 3 4

Cool features

Find the code change that introduced a bug

git bisect start

git bisect bad

git log

git bisect good revision

git bisect good/bad

bisect

‣ start bisect session

‣ mark current revision as bad

‣ search a working revision

‣ mark the working one as good

‣ bisect until you find the bug

Cool features cherry-pick

Apply a change from another commit into current branch

git log

git checkout branch

git cherry-pick revision

‣ search the right commit

‣ checkout the branch you want

‣ apply commit into branch

GitNub

Git vs SVN

Git SVN

Distributed Single Repository

Branches partial checkout

Performance Access Control

Repository size Shorter revision numbers

Powerful, little more complicated

more GUI tools

git-svn

using git local if you have a remote svn repository

use git on your local machine

staging

seperate commits

branches

push your commits to your svn repository

Q & A

top related