Be a Git Ninja!

 Boston Code Camp 21
Yogiraj Aradhye

 About Me


Software Developer

Company: Clarus Marketing Group

Blog: aradhye.com

Twitter: @y09i

Email : 

yogi@aradhye.com



Special Thanks

Sponsors

You!




Outline


Distributed Version Control System
Git
Git Setup on Windows
Git on Mac
Git on Mobile devices
Git with TFS
Useful commands
Development Workflows


What is DVCS?



Why DVCS?

Speed
Reliability
Flexibility
Easy Collaboration
Easy Reviews
Works well with continuous integration and continuous delivery tools
More on the topic

Atlassian  Blog  (BitBucket)
StackOverflow Link
SoftwareWhys


Git


Designed and Developed by Linus Torvalds in 2005

Git  is a British English slang roughly equivalent to "unpleasant person". 

Linus Torvalds said " I'm an egotistical bastard, and I name all my projects after myself. First 'Linux', now 'git'."

Linus Torvalds On Git



Why Git

  • Cheap local branching [1]
  • Git is Fast  [1]
  • Git is Small  [1]
  • The Staging Area  [1]
  • Distributed  [1]
  • Any Workflow  [1]
  • Easy to Learn  [1]
  • Git is the new standard [1]
  • Great community support  
  • Github and BitBucket OSS visibility
  • Windows Azure and Git [2] [3]
  • http://stackoverflow.com/tags/git/info

Citation

Set Up on Windows

  1. Get ConEmu/Cmder
  2. Get TortoiseGit for SSH purposes
  3. Get Putty
  4. Get Git
  5. Get PoshGit
  6. Get Git Extensions
  7. Use Cmder directly or use powershell


Set up on Mac




P4Merge for 3 way merging

DiffMerge difftool

Git Extensions

Git(GitHub) on mobile devices







http://mobile.github.com/


But we use TFS













Useful commands

Clone
Stage
Commit
Git log
Git Alias
Branching
Tagging
Merging
Diff
Git stash
Rebase
Cherry-Pick

Merge Vs Rebase



Workflows



Central

Gitflow

Forking

Pull requests

Central 




  

Gitflow


Forking



Pull Requests





You are now a certified Git Ninja!


  Questions? 

Twitter : @y09i
yogi@aradhye.com

BeAGitNinja

By yogia

BeAGitNinja

  • 7,649