p.p1 Avenir; color: #000000; -webkit-text-stroke: #000000} p.p2 {margin:

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Avenir; color: #000000; -webkit-text-stroke: #000000} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Avenir; color: #000000; -webkit-text-stroke: #000000; min-height: 16.0px} span.s1 {font-kerning: none}

What is Git?
Git is a modern version control system. It is an open source project, created in 2005 by Linus Torvalds.  Git is now slowly beginning to become the standard for version control. Your local copy of code is a complete version control repository, also known as a distributed control system. This makes work available to be completed offline and remotely. Git work where the user commits work locally and syncs a copy of the repository with the online server’s copy. 

Who is it for?
Git is for everyone, but it  mostly used by software developers. Often used in preference by larger teams for collaborative projects.

Why do people use Git over competing version control systems?
In centralized version control systems the clients must synchronize code with the server before making a new version of the code, where Git does not require this. Git is often chosen for it’s flexibility. Git also allows everyone to have their own copy of the code, and can work simultaneously on their own versions and branches. Git is also preferable because it works offline. Faster releases are allowed through the use of branches and simultaneous development, Git’s use of separate branches allows for better code management. Git is also integrated with most tools and products. This allows for continuous integration, continuous deployment, automated testing, work item tracking, metrics and reporting. This allows for a simple flow of tasks and work. Another reason that Git is so often chosen is because of the strong community that has formed around the system. This allows an individual to get all the help they need. Git’s overall teamwork capabilities is perhaps the most notable reason for people choosing Git over other VCS. Pull requests are also a major selling feature of Git, as this allows for discussion within the team leading to code quality and increase of knowledgeability across the team. Git also allows for branch policies to assure that each of the branches are up to standard. Other VCS do not have these same features and capabilities as Git. An example of this is the fact that the VCS called subversion does not allow for the entire history of the respiratory, or the ability for each client to work as a server. 

What are some of the challenges to leaning Git?
The biggest challenge learning Git would be navigating the Git software interfaces, and understanding how to get started. Unfortunately the interfaces of these softwares lack any sort of explanation of what each step should be, even for beginners. Once the software is explained from an outside source, using Git is not overly difficult. It is mainly the lack of direction and confusing interfaces that are the main threats to beginner learning.