Getting Git Right

Getting Git right, with tutorials, news and tips.

Git basics

Git is a free and open source version control system, originally created by Linus Torvalds in 2005. Unlike older centralized version control systems such as SVN and CVS, Git is distributed: every developer has the full history of their code repository locally. This makes the initial clone of the repository slower, but subsequent operations such as commit, blame, diff, merge, and log dramatically faster.

Git also has excellent support for branching, merging, and rewriting repository history, which has lead to many innovative and powerful workflows and tools. Pull requests are one such popular tool that allow teams to collaborate on Git branches and efficiently review each others code. Git is the most widely used version control system in the world today and is considered the modern standard for software development.

How Git works

Here is a basic overview of how Git works:

  1. Create a "repository" (project) with a git hosting tool (like Bitbucket)
  2. Copy (or clone) the repository to your local machine
  3. Add a file to your local repo and "commit" (save) the changes
  4. "Push" your changes to your master branch
  5. Make a change to your file with a git hosting tool and commit
  6. "Pull" the changes to your local machine
  7. Create a "branch" (version), make a change, commit the change
  8. Open a "pull request" (propose changes to the master branch)
  9. "Merge" your branch to the master branch
Get started with Git

Top Posts

Sarah Goff-Dupont
Sarah Goff-Dupont

Five tips for CI-friendly Git repos

Read article
Matt Shelton
Matt Shelton

Git or SVN? How Nuance Healthcare chose a Git branching model?

Read article
Matt Shelton
Matt Shelton

Dealing with Maven dependencies when switching to Git

Read article
See All Articles

Did you know...

Branch

Definition: A branch represents an independent line of development. Branches serve as an abstraction for the edit/stage/commit process discussed in Git Basics, the first module of this series. You can think of them as a way to request a brand new working directory, staging area, and project history. New commits are recorded in the history for the current branch, which results in a fork in the history of the project.

See All References