Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Git

joren
September 27, 2011

 Git

Basics about git. For beginners

joren

September 27, 2011
Tweet

More Decks by joren

Other Decks in Technology

Transcript

  1. Say what? Source Control Management like SVN, CVS,.. but better!

    Linus Throvalds (april 2005) Linux Kernel Junio Hamano (july 2005) a stupid person!
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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