Git Instructions for the team
Also, just a note(I'll probably bring this up thursday), as just users of the git repo, this should be your process for setting up(using a command line git program):
Step 0: Create a Github account
You need a github account before you can do anything. Go to github.com to get it
Step 1: Set up your SSH keys
You'll be pulling your hair out if you miss this step. Be sure to read it carefully. This is assuming you are using msysgit(which I still recommend for the cs people)
http://help.github.com/msysgit-key-setup/
Step 2: Fork Project
Forking the project is pretty easy. Go to http://github.com/DizWARE/Gravity-Shift/ and click the "Fork" button near the top on the right side
Step 3: Clone Repo
git clone git@github.com:(Your Github Username)/Gravity-Shift.git
This will automatically add this git repo to as your remote upstream/downstream, under the alias "origin"
Step 4: Add the original repo for fetching the newest updates
cd Gravity-Shift
git remote add upstream git://github.com/DizWARE/Gravity-Shift.git
git fetch upstream
This will add the main git repo for global updates, under the alias "upstream"
At this point, you should not have to do the Steps 1 - 4 ever again(unless something happens). From here on out should be your update cycle for anytime you make any changes.
Step 5: Make modifications
Adding/removing code or any files(images and such) will do this
Step 6: Committing your changes
git commit [Filename/s]
to commit one or more file
or
git commit -a
to commit all files
This will immediately start the default text editor(usually 'vi') to add a commit message.
Always, always, always fill out your commit messages, so that when you try to update your code on the main repo.
These commit messages should all be in present tense(important) and should start with a brief description on what is changed, and then a list of all changes. Here's an example after I added the ability jump in the physics engine, and the controls for it in the control scheme(hypothetical):
Add the ability to jump in the game
-Add the physics definitions for jumping in the physics engine
-Add the controls for jumping in the control schemes
Step 7: Push updates up to your fork
git push origin (branch name)
(branch name) is usually master if you have not created and checked out a different branch. So basically, if you don't know, use 'master'
Step 8: Sharing your updates with everyone
In github, go to http://github.com/(Your Github Username)/Gravity-Shift.git and click the "Pull Request" button in the upper right hand corner
Step 9: Getting peoples updates from git
git fetch upstream
git merge upstream/master
Lastly, for those who are still doubting on the WHY of git, take a look at this video of Linus(inventor of git, and also the inventor of Linux): http://www.youtube.com/watch?v=4XpnKHJAok8
Skip ahead a bit, because he gets into the details near the end.