• About

Jian Huang

~ Journey through IT terrain

Jian Huang

Tag Archives: Version Control

Git: What it is in 5 minutes

07 Sunday Jan 2018

Posted by Jian Huang in Version Control

≈ Leave a comment

Tags

Version Control

Git is a light-weight distribution version control system.

Git is built on 4 layers of abstractions like an onion, and each layer is based on another.

  1. Persistent map. The technical cornerstone is SHA1, a hashing algorithm.
  2. Content tracker
  3. Version control
  4. Distribute version control

A few things worth noting technically.

  1. Git is path independent because it is based on persistent maps.
  2. It is inherently easy to understand. It only has four types of objects, blob, tree, commit, tag.
  3. A branch is just a commit. This idea really blew me away because I never think from this perspective. Branching is super easy to understand.
  4. A commit is a snapshot of the persistent map.
  5. Rebase. Nice concept if used correctly
  6. Good fit for distributed peers like open source projects

 

References:

  1. Paolo Perrotta, How Git Works, Pluralsight
  2. https://docs.microsoft.com/en-us/vsts/tfvc/comparison-git-tfvc
  3. https://www.petri.com/team-foundation-version-control-verses-git-visual-studio-team-services
Advertisements

Recent Posts

  • Does Single Responsibility Principle Apply to an Variable?
  • SQL Insertion of Thousands Records Too Slow?
  • SQL Profiler Trace File Truncated?
  • Performance Tuning on C# LINQ
  • Error CS0012, The type ‘XYZ’ is defined in an assembly that is not referenced

Recent Comments

Jian Huang on Fluent Validation – Sepa…
Dmitry on Fluent Validation – Sepa…
Yes, foreign key can… on SQL Tip #1 – Indexing Fo…

Archives

  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • September 2016
  • August 2016
  • May 2016
  • March 2014

Categories

  • AI
  • Application
  • ASP.NET
  • bootstrap
  • C#
  • Cloud
  • CSS
  • Dependency Injection
  • Design Patterns
  • Design Principles
  • Entity Mapper
  • EWS
  • Excel
  • HTML
  • Interactive Maps
  • JavaScript
  • JQuery
  • Misc
  • MVC
  • Programming Languages
  • React
  • Refactoring
  • REST
  • SQL
  • SQL Server
  • TDD
  • TFS
  • Uncategorized
  • Unit Tests
  • Version Control
  • Visual Studio
  • Windows Server 2012
  • WWW

Meta

  • Register
  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.com
Advertisements

Recent Posts

  • Does Single Responsibility Principle Apply to an Variable?
  • SQL Insertion of Thousands Records Too Slow?
  • SQL Profiler Trace File Truncated?
  • Performance Tuning on C# LINQ
  • Error CS0012, The type ‘XYZ’ is defined in an assembly that is not referenced

Recent Comments

Jian Huang on Fluent Validation – Sepa…
Dmitry on Fluent Validation – Sepa…
Yes, foreign key can… on SQL Tip #1 – Indexing Fo…

Archives

  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • September 2016
  • August 2016
  • May 2016
  • March 2014

Categories

  • AI
  • Application
  • ASP.NET
  • bootstrap
  • C#
  • Cloud
  • CSS
  • Dependency Injection
  • Design Patterns
  • Design Principles
  • Entity Mapper
  • EWS
  • Excel
  • HTML
  • Interactive Maps
  • JavaScript
  • JQuery
  • Misc
  • MVC
  • Programming Languages
  • React
  • Refactoring
  • REST
  • SQL
  • SQL Server
  • TDD
  • TFS
  • Uncategorized
  • Unit Tests
  • Version Control
  • Visual Studio
  • Windows Server 2012
  • WWW

Meta

  • Register
  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.com

Create a free website or blog at WordPress.com.