The MCServer Git Workflow ========================= First, clone the repo: git clone git@github.com:mc-server/MCServer.git Next, check yourself out into a feature branch for whatever you want to work on (don't include the square brackets): git checkout -b [name-of-feature-branch] After that, you can get on with whatever you want to do. Once you're done with the feature, add the files to your staging area: git add [name-of-changed-files] You could also just do `git commit -a` instead, to commit all changes. Now commit your work. Remember to add a descriptive message! git commit Continue working on your feature until you think it's done. You'll want to push your work up the GitHub now. git push master [name-of-feature-branch] Then go to the GitHub website and switch to your feature branch. There should be a button asking you if you want to submit a pull request. Click it, and add a short description of the change. Now wait for a response from other people about your change, or if it's small, just merge it in straight away. If people come up with a change you need to make, simply make the change and commit again in the feature branch. Once you push it, it will automatically appear in the PR thread. Now you're done with your feature, simply switch back to the master branch: git checkout master Now you'll want to fetch everybody else's changes: git fetch If it tells you that the new changes were fetched, merge them in: git merge origin/master Accept the default commit message and then you're all done! If you want to work on a new feature, just repeat the workflow from the "new feature branch" place. I hope this has been useful to you in getting started with git.