Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am currently studying the git documentation to get a hang of distributed version control workflow and use of git command line. I want to first start using git with small, personal, pet projects so to gain experience before doing it on large scale (i.e., bigger projects, team dev).

What areas of the git system should I, as a lone player, devote most of my study time to... what parts should I leave for the larger scale work later on. In other words what features of the git system will fully be grasped in team work only, and therefore should not be too involved with at an individual level?

share|improve this question
up vote 11 down vote accepted

I would say that remote work (git push origin) would be the one thing you don't have to focus on.

What I would focus on is:

  • Branches. Branching is super easy (and fast!) in git. Make branches for anything you like.
  • Merging. Merging is also super easy (and fast) in git. Because of how git tracks file history (through parents) it makes merging between branches a snap.
  • Diffs. Learn the shortcuts for current revision, last revision, etc. Make efficient use of patches and practice applying them.
  • Git structure. Learning how git works with your working tree, index, and staging area are essential to flexible control over your source code.

Considering you're on your own you might also want to look at the more exotic commands like rebase.

share|improve this answer

Push and pull aren't necessary for solo use. But do learn about branches; I use them even when I am the only one on a project to add a feature without affecting the main development or to try something out.

share|improve this answer

One of the things that git is nice for, is fast backups.

Mirror-clone to a USB-drive or network disk and then use "git fetch".

Also familiarize yourself with the porcelain commands - they are very useful for gaining information quick.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.