TheMagPiGit

Setting up access

 * The first step is to create a github account. Then for those on the MagPi layout team, email the editor for permission to join the github organisation.


 * Since the Raspberry Pi does not have a great deal of processor power, it is better to use the command line tools to access github. For OSX and Windows there are GUI tools available for download on the github site.

Tools for LINUX or OSX
Several people would rather not read the git book. Therefore, some scripts were written to simplify the usage slightly. Git is not a replacement for good communication. Remember to update the local git repository before starting work on something and commit changes back to the repository frequently.

tar xvfz mp-git-20130321.tar.gz cd mp-git source install.sh
 * Download mp-git-20130321.tar.gz from the DropBox.
 * Unpack it,
 * Install it,
 * Then use the commands as needed. The commands are,

mp-git-setup.sh
Type mp-git-setup.sh to install and configure git. The script has no action if the installation and configuration is already okay.

mp-git-clone.sh
The script expects that the repositories will be in a parent directory called magpi-git. (This can be overridden by setting the environmental variable MP_GIT_DIR to the full path of the parent directory.) If the magpi-git directory does not already exist, mkdir magpi-git; cd magpi-git Then type mp-git-clone.sh 11 to clone the issue 11 repository. The script will not clone the repository again if a local copy already exists in the present working directory. More than one repository can be requested at once. For example, mp-git-clone.sh 11 12 13 templates will check out the issue 11, 12 and 13 repositories, as well as the templates repository.

mp-git-commit.sh
Type mp-git-commit.sh 'A message goes here' [all] where the string 'A message goes here' should be replaced with a sensible and informative message and the text 'all' is optional. If all is used, all repositories within the mp-git/ parent directory are checked. The script adds any new few files, commits to the local repository, fetches and remote changes and then merges the local changes into the remote repository. (Git does not allow empty directories to be added)

mp-git-update.sh
Type mp-git-update.sh [all] to update the local copy with any changes from the github repository, where 'all' is optional. If all is used, all repositories within the mp-git/ parent directory are checked.

Using Proxy
If you need to use a proxy: HTTP_PROXY="http://username:pwd@theproxyserver.com:port/" git config --global http.proxy $HTTP_PROXY