Git is an open-source distributed version control system (DVCS).

- Wiki
37 articles, 2 books. Go to books ↓

This website is designed to help you understand some basic git concepts visually.

An alias is simply a way to add a shorthand for a common Git command or set of Git commands.

Create useful .gitignore files for your project

A merge is an operation carried out between branches. It is the process of pulling the changes made in one branch into another branch.

This is a continuation of a tutorial blog series to learn the basics of Git, using GitHub and the GitHub client.

Git rebase in its simplest form is a command which will merge another branch into the branch where you are currently working, and move all of the local commits that are ahead of the rebased branch to the top of the history on that branch.

Git branches are light and fast. You want to take advantage of these abilities by often forking and experimenting with new code, and sharing them with others when they’re ripe. Need to work on a breaking change without disrupting your main branch, no problem. Branch and push. Need to contribute to someone else’s branch, no problem. Pull, commit and push. Need to see if there’s a new branch to work on, no problem. Fetch and checkout.

Advanced git commands that you may find useful whether you are working in a team environment or on your personal project.

Imagine you have the master branch, latest commit checked out. You know that a previous version branch worked fine. Git will analyze how many revisions exist between good and bad, split the difference, and checkout that commit.

This methodology is the most effective way to leverage the power of Distributed Version Control Systems - specifically Git. This work is the result of an in depth analysis of Continuous Intergration and the notion of responsible Continuous Delivery. The inherent risks that de facto CI and CD introduce are mitigated by what others now refer to as “The Dymitruk Model”

This application is designed to help beginners grasp the powerful concepts behind branching when working with git. We hope you enjoy this application and maybe even learn something!

Git is a fantastic choice for tracking the evolution of your code base and to collaborate efficiently with your peers. But what happens when the repository you want to track is really huge?

This is a Git Style Guide inspired by How to Get Your Change Into the Linux Kernel, the git man pages and various practices popular among the community.

Rebase, what is it and why would I want to use it?

One of the most useful features of any version control system is the ability to "undo" your mistakes. In Git, "undo" can mean many slightly different things. When you make a new commit, Git stores a snapshot of your repository at that specific moment in time; later, you can use Git to go back to an earlier version of your project.

Stubbornly Refusing to Speak The Computer's Language.

Let's consider this: say you have a git repository, make a commit, and get very very unlucky: one of the blobs end up having the same SHA-1 as another that is already in your repository. Question is, how would git handle this? Simply fail? Find a way to link the two blobs and check which one is needed according to the context?

The git rerere functionality is a bit of a hidden feature. The name stands for "reuse recorded resolution" and as the name implies, it allows you to ask Git to remember how you've resolved a hunk conflict so that the next time it sees the same conflict, Git can automatically resolve it for you.

Git it’s such a powerful, elegant tool and it’s one I use the most often. I thought I would note down some useful little Git snippets that I use the most frequently.

Git has quickly become an incredibly popular version control system, but how does it actually work? It's very different from a centralized version control system, and understanding how it models history allows you to understand how to use it.

This guide will teach you how to properly contribute to open source projects on GitHub. It assumes that you already know about how to use Git for version control and that you already have a GitHub account.

What are "flight rules"? A guide for astronauts (now, programmers using git) about what to do when things go wrong.

Sometimes you end up in a situation when you need to amend a commit to add further changes to it, either because you forgot some important things, or due to company git policies.

As of 2018, almost 90% of the 74,000 developers surveyed by Stack Overflow prefer to use Git for version control. Git dominates all other version control systems and adoption is up almost 20% from 2017 according to the survey. However, Git has not always been this ubiquitous. Let’s take a look at its ascent into mass popularity.

For a little under a decade Git and SVN competed for market share in a fashion reminiscent of browser wars. As recently as 2010, there are forum discussions that perhaps Git and SVN were not competitive — that the two were best in class products of two different breeds (distributed and centralized version control), and that companies would likely support both. It’s clear that Git won hearts and minds. But why?