More about Git

You can find more information about Git and download clients for most major platforms at the official Git site.

Git access

If you would like to grab PHP sources or other PHP.net hosted project data from PHP.net, you can also use Git. No Git account is required.

'; site_header("Using Git for PHP Development", ["current" => "community"]); $groups = [ "none" => "Choose One", "php" => "PHP Group", "pear" => "PEAR Group", "pecl" => "PECL Group", "doc" => "Doc Group", ]; ?>

Using Git for PHP Development

"; } elseif (!preg_match('!^[a-z]\w+$!', $_POST['id']) || strlen($_POST['id']) > 16) { $error .= "Your user id must be from 1-16 characters long, start with " . "a letter and contain nothing but a-z, 0-9, and _
"; } if (empty($_POST['fullname'])) { $error .= "You must supply your real name.
"; } if (empty($_POST['realpurpose'])) { $error .= "You must supply a reason for requesting the Git account.
"; } if (empty($_POST['password'])) { $error .= "You must supply a desired password.
"; } if (empty($_POST['email']) || !is_emailable_address($_POST['email'])) { $error .= "You must supply a proper email address.
"; } if (empty($_POST['yesno']) || $_POST['yesno'] != 'yes') { $error .= "You did not fill the form out correctly.
"; } if (empty($_POST['group']) || $_POST['group'] === 'none' || !isset($groups[$_POST['group']])) { $error .= "You did not fill out where to send the request.
"; } if (empty($_POST['guidelines'])) { $error .= "You did not agree to follow the contribution guidelines.
"; } // Post the request if there is no error if (!$error) { $error = posttohost( "https://main.php.net/entry/svn-account.php", [ "username" => $_POST['id'], "name" => $_POST['fullname'], "email" => $_POST['email'], "passwd" => $_POST['password'], "note" => $_POST['realpurpose'], "yesno" => $_POST['yesno'], "group" => $_POST['group'], ], ); // Error while posting if ($error) { $error = "An error occurred when trying to create the account: $error."; } } // Some error was found, while checking or submitting the data if ($error) { echo "

$error

"; } else { ?>

Thank you. Your request has been sent. You should hear something within the next week or so. If you haven't heard anything by around then please send an email to the appropriate mailing list:

This is to let us know that we've forgotten you, but you haven't forgotten us! It happens. There's several of us, and sometimes we think that someone else has taken care of your request, and they think that we took care of it. Sorry. You can also speed up the process by having an existing Git account holder who works in the area you are interested in mail us to vouch for you.

If you are not familiar with Git, you should have a look at the various documentation resources available at the official Git site. This is also where to get the most recent version of the Git client.

All Git commit messages to the PHP sources get sent to the php-git mailing lists. You should subscribe yourself to one or more of these mailing lists. Instructions for subscribing are on the Mailing Lists page.

Git itself is quite easy to use. You can follow the steps listed on the Git page for checking out your tree. Please note that you do not have to log in to check out your tree; you will not be asked for your username and password until you attempt to commit changes.

The Git workflow and Git FAQ pages on the Wiki are good starting points to learn how we use Git to develop PHP. Beyond that, you can familiarise yourself with Git in general via the Git documentation and the Pro Git book. They should all be executed from within the checked out tree. eg. cd php-src.

We could not have said it more clearly. Read everything on this page and look at the form you are submitting carefully.

EOT; } ?>

All PHP development is done through a distributed revision control system called Git. This helps us track changes and it makes it possible for people located in all corners of the world to collaborate on a project without having to worry about stepping on each others' toes.

Please note that you do not need a Git account to access the Git tree, to use PHP, or to write PHP scripts. You only need a Git account if you will be a regular contributor to the development of PHP itself.

And once again, since people just don't seem to understand this point:

Does Not Require Git Account Requires Git Account
Learning PHP Developing the PHP runtime
Coding in PHP Maintaining an official, bundled PHP extension
Reading the PHP source Maintaining the documentation
Using PHP extensions Translating the documentation
Creating experimental PHP extensions Maintaining php.net
Submitting a patch to PHP  
Adding notes to the documentation  
Writing web pages with PHP  

Contributing patches

If you are contributing a patch, a small fix, or another minor change you do not need to ask for a Git account before submitting it. Fork our GitHub repository and create a pull request, attach a patch to a bug report or feature request, or send your patch to the Internals mailing list. If you send the patch to Internals, you should subscribe to that list to participate in any discussion your patch generates! Your patch may not get noticed the first time. Make sure that when you send your patch, you explain what it does. Make sure you use a clear subject when sending your patch (you might even want to prefix it with "[PATCH]"). If nobody seems to take notice after a few days, you might want to try resubmitting it. Your original message might have gotten missed because of another heated discussion.

Submitting patches and participating in the discussion on the Internals list before requesting full Git access is strongly suggested, so the PHP development team can get to know you and what you'll be contributing. It is suggested that all PHP developers (people developing PHP itself, not people developing in PHP) subscribe to this list. Similarly, if you plan on contributing documentation, you should subscribe to the documentation mailing list, and read the PHP Documentation HOWTO.

If you wish to contribute to the documentation please contact the translation team for the language you wish to help with. If you have trouble finding the team, ask on the phpdoc mailing list. Once you have made contact you may apply for a Git/SVN account here by including the name of one or more people from the existing translation team that referred you and of course the language you wish to translate to.

If you have a new PEAR package you wish to contribute, propose it through the PEPR system on the PEAR website. If you have a new PECL extension you wish to contribute, bring it up on the appropriate PECL mailing list first.

Once your PEAR package has been approved, or you get the sense that people generally agree that your PECL contribution is worthwhile, you may apply for a Git account here. Specify the name of your PEAR package or PECL contribution (single word Git module name) and also reference an existing account holder who can vouch for your contribution, or provide a link to your PEAR proposal.

Okay, if you are still reading, then you may actually need a Git account. This is not an automatic process. Fill in the form below to request an account. In the box next to "Purpose", describe what it is that you intend to do with Git access. If it isn't clear from what you've described already, tell us what parts of the Git repository you need access to (for example, "phpdoc" is the documentation tree, "php-src/ext/readline" is the PHP readline extension). If someone told you to fill out the form here, make sure to mention them here!

The Git account, once granted and activated (which could take a while, so be patient!), gives you access to a number of things. First, and most importantly, it gives you access to modify those parts of the PHP Git tree for which you have requested and been granted access. It also allows you to comment on and close bugs in our bug database, and allows you to modify the documentation notes in the annotated manual. Your Git account also translates into a foo@php.net forwarding email address where foo is your Git user id. Feel free to use it!

If you get no response to an account request after a while, remember this is a manual process, then please contact the relevant mailing list that belongs to the part of PHP you requested access to.

Request a Git account

Please note that you do NOT need a Git account to study PHP. You do NOT need a Git account to learn PHP, to use PHP or to in any way do anything at all with PHP. If you are sitting there wondering if you need a Git account, then you don't! If an existing Git account holder suggested you request an account, please mention their Git id in the request.

Also note that information provided here will be sent to a public mailing list.

Please do NOT submit account requests if you have not previously contributed any work such as patches to PHP.

If someone told you to fill in an account request because you are a developer of a certain extension, for example a PECL extension, then please state who told you to submit this request in the purpose text field below.

Full Name:
Email:
For what purpose do you require a Git account:
(check all that apply)
$p) { ?>
If your intended purpose is not in the list,
please state it here:
Do you agree to follow the contribution guidelines?
User ID:
(single word, lower case, max 16 characters)
Requested Password:
Did you fill this form out correctly (yes/no)?
Type of initial karma (who to send this request to):