git

Distributed Version Control

git

type of  distributed version control system

when you edit a file, git can help you determine exactly what changed, who changed it, and why.

Pro

  1. Branching is fast. Which allow user to develop each feature in isolation
  2. Full Offline support
  3. The most popular version control tools
  4. Many 3rd party tools and plugins

Con

  1. Learning all the commands can be taunting
  2. Powerful, but complex
  3. Migrating from other version control to git can be very challenging. 

Typical git workflow

git branching stradegy

Scenario 1

  • Web Application in production
  • You are working on a new big feature
  • A bug came up in production

Solution? More branches

Maintain 2 separate branch

  1. A Feature Branch that has latest change
  2. A Hotfix Branch that branches from production, which will eventually merge back into master branch (production) 

Scenario 2

  • Multiple teams of Developer working on the same code base
  • Different feature handled by different team is being added daily

Solution? More Branches

  1. Maintain multiple feature branches, that can be merge periodically into a development branch
  2. Development branch are tested before moving to production

Summary

  • Light weight branching made development in isolation easy
  • Scales well as number of developer grew

End

Git

By ringo kam

Git

  • 326