Follow the instructions here - http://help.github.com/win-set-up-git/
Then you want to fork https://github.com/mono/MonoGame
, so follow these instructions - http://help.github.com/fork-a-repo/
The key in that 2nd link is that after you have forked, you must use the command line command...
git clone email@example.com:%YourUserName%/%YourFork%.git
The key to git is that you do everything locally first as you have a local clone(as per previous command ) of the repository.
- You make a source-code change
- Make sure your changes exist in your local staging area
- Commit your changes from staging area
- When you are ready push your committed changes from your local staging area to github.
So the commands that I use all the time now are...
"git status" - This tells you what is available to be committed or what needs to be moved into the staging area - This command will become your best friend when you don't know what it going on.
"git add -u" - Adds any tracked ( git already knows about the file ) files to the staging area
"git add %filename%" - Add untracked/new file/s to the staging area. Once they are tracked they will be picked up automatically with the previous command.
"git commit -m "%You comment Here%" - When you want to commit your changes to your local repo
"git push origin master" - This will push your changes from your local repo ( origin ) to master ( your repo on github )
Once your changes are on github, you then need to send me a "pull request" via the github web interface, which will then send me a message letting me know that changes are pending to be merged into the main fork.
I, or one of the other MonoGame contributors, will check your changes and merge them into the main fork. Job Done.
From SVN to GitHub tip
Add label of original truck
git remote add upstream firstname.lastname@example.org:%YourUserName%/%YourFork%.git
git fetch upstream
git merge upstream/master
Commit local in your machine
git add -u OR git add . OR git add
git commit -m "message"
Commit your github trunk
git push origin master
Request merge with main trunk (CartBlanche)
Pull Request button in github
Revert local changes
git reset --hard HEAD or git checkout
(if you find any mistake please notify us)