Last updated September 7, 2016.

Welcome to the Git documentation! Git is the version control system Drupal.org developers use to share code with one another.

Within this section of the site, you will find information on Drupal.org's use of Git, how to download, install, and configure Git, and how to contribute your own code to Drupal.org.

Here's a list of quick links to get you started, depending on your needs.

starting out patch contributor project maintainer site builder
  1. Contributing code to Drupal.org
  2. Introduction to Git
  3. Getting started with Git on Drupal.org
  4. FAQs
  5. CVS to Git cheat-sheet
  6. Other Git resources
  1. Helping others (patches)
  2. Patch contributor guide
  3. Sandbox collaboration guide
  4. Creating an interdiff
  1. Obtaining Git access
  2. Version control tab
  3. Sandbox (experimental) projects
  4. Creating & testing full projects & releases
  5. Project maintainer tutorial
  6. Creating a project release
  7. Usage policy
  1. Site builder guide

Comments

jasom’s picture

If you are doing your first project for Drupal.org make sure you have watched this Randy Fay's video tutorial: Using Git on Drupal.org: https://vimeo.com/20459209

artofeclipse’s picture

This is a very useful links for git beginner I hope it's will help some one.

http://git.or.cz/course/svn.html

http://progit.org/book/

wanderingstan’s picture

Minor note, but this page title is a little misleading. Seeing "Git Documentation" in search results, it reads like this page contains official general-purpose documentation for Git itself. Perhaps something like "Drupal.org Git Documentation" or "Git for Drupal.org Documentation" would be clearer.

shamio’s picture

I found these good documentations and tutorials about GIT and using it. I hope it can help the other members to use Git and become more familiar with it.
Introduction To Git: http://learn.github.com/p/intro.html
This PDF familiarizes you with Git through a conceptual approach: http://ftp.newartisans.com/pub/git.from.bottom.up.pdf
It gives you enough information to get started. It also has a section on using GitHub: http://net.tutsplus.com/tutorials/other/easy-version-control-with-git/
This tutorial geared towards web designers: http://www.webdesignerdepot.com/2009/03/intro-to-git-for-web-designers/
An online well written book on Git: http://www-cs-students.stanford.edu/~blynn/gitmagic/

cddomaua’s picture

Introduction To Git: http://learn.github.com/p/intro.html - Wery help me at start.

xtiansimon’s picture

Friends. All roads for git questions lead to here. While this is the "Contribute" section, there is a lot of basic non-developer information relevant to any git user. For example anyone may choose to use a git version of a module, because, as I understand in some cases the git versions are more recent than the downloadable tars. And its this exact case that leads me here. Specifically, I am finding it difficult to understand accessing 'dev' branches in git since the git command '$git tag' in one of my favorite headaches only features 7.x-2.0, 7.x-2.0-beta1 for the 7.x branch.

Even if there is other documentation here at drupal.org, it seems a section on these non-contribute uses of git (ie. drupal naming and git workflow for 'install repository, activate, and update') would close a gap in the loop between looking up an issue on a module's issue page, finding the version an issue/patch applys to and changing to that version (older or newer or dev or beta) if it fixes the problem. And, before someone says that's what every module's page says using specific examples, I just got a strange error trying to do just that,
Automatic merge failed; fix conflicts and then commit the result.

All the help pages I could find suggested I need to commit my changes or some such. But, I'm not working on the module! I've never worked on this module. More information may be necessary for new users if unexpected problems like this arise when only using git to get the latest module code.

gpk’s picture

Unless things have changed, dev tarballs are updated every 12 hours, so it's usually not necessary to use git to get the latest dev version of a project.