+ \r
+ <p><strong>Edit, create, add copies of file as you would during development</strong>\r
+ <br />\r
+ <kbd>git status </kbd> (to list modified files)<br />\r
+ <kbd>git add [filename] </kbd> (to stage modified file, or "git add *" to stage all modified files)<br />\r
+ <kbd>git status </kbd> (to list staged files)<br />\r
+ <kbd>git commit -m "describe the changes in a log message"</kbd> (to save the staged file to the new_feature branch you created above)<br />\r
+ <kbd>git log </kbd> (to list changes that were committed)<br /></p>\r
+ \r
+ <p><strong>Keep your branch up-to-date</strong> (perform these operations often)<br />\r
+ <kbd>git checkout master </kbd> (switch to the local master branch)<br />\r
+ <kbd>git pull upstream master </kbd> (update your local master branch with code from the main ATutor repository)<br />\r
+ <kbd>git checkout new_feature </kbd> (switch to the local new_feature branch)<br />\r
+ <kbd>git merge master </kbd> (merge updates in the local master to your working branch, then resolve any conflicts)<br /></p>\r
+ \r
+ <p>After pulling from the ATutor master repository, review the latest SQL upgrade file to ensure your database structure is up-to-date (in the install/db/ directory ). The file will contain schema changes of the current pre-released source. Example: If the current working source will be version 1.9, then the upgrade file to keep track of will be named <kbd>atutor_upgrade_<em>x.y.z</em>_to_1.9.sql</kbd>, where <kbd><em>x.y.z</em></kbd> is the version of the currently available stable release.</p>\r
+ \r
+ <p><strong>Submitting code for review and addition to ATutor</strong> <br />\r
+ <kbd>git push origin new_feature </kbd> (push your new_feature branch to your own GitHub repository)<br />\r
+ Go to <a href="https://github.com">https://github.com</a>, login, then under "switch branches" select the <kbd>new_feature</kbd> branch you just pushed.<br />\r
+ Click on the <strong>Pull Request</strong> button, to send your code for review.<br />\r
+ Read through the pull request to ensure it is correct, for example \r
+ "<em>You're asking atutor to pull [1] commit into atutor:master from username:new_feature</em>" <br/>\r
+ Press <strong>Send pull request</strong> to finish your code submission.</p>\r
+\r
+ <p><strong>Clean up when you're done</strong> (after the code has been reviewed, accepted, and merged into the ATutor master branch)<br /> \r
+ <kbd>git branch master</kbd> (move into a branch other than the one to be deleted)<br />\r
+ <kbd>git branch -D new_feature</kbd> (delete the branch from your local repository)<br />\r
+ <kbd>git push origin :new_feature</kbd> (remove the branch from GitHub)</p>\r
+<h3><a name="svn-install"></a>4.3 Installing from GitHub</h3>\r
+ <p>Installing the development code cloned from GitHub requires one extra step in addition to the standard installation described in the <a href="http://atutor.ca/atutor/docs/installation.php#fresh">Installation Instructions</a>. Once the source code has been cloned, change to the ATutor/docs/include directory and create an empty configuration file by issuing the command <kbd>touch config.inc.php</kbd>, then run the installer as described in the instructions.</p>\r
+ \r
+ \r