Workflow - Josh-McMillan/Community-Game GitHub Wiki

Workflow Information

If you are new to Git with teams, please read this document before proceeding with implementing new features.

Setting up Git

These instructions are for the command-line git tools. If you prefer Github Desktop, GitKraken or any other GUI tools, please submit an issue for them to be added.

  • Windows:
    1. Install Git Bash from the following page: Git Bash Download
    2. Go into your documents, or whichever directory you would prefer the project files be saved in
    3. Right-click within Windows Explorer and click "Git Bash here"
  • Linux: Git likely comes with your distro, so just open a terminal in the directory you want the project in.

Setting up the project:

  1. Type in "git clone https://github.com/Josh-McMillan/Community-Game.git"
  2. Type in "cd Community-Game" to enter the directory
  3. Type "git checkout dev" to check out the dev branch, then "git pull"

Proposing & Making Changes

**Notice: **Before you can make changes; you have to become a contributor on the project. Message SpatialPlays on Discord with either your email or your GitHub username and he will add you to the role when he gets the opportunity to. Once this has been done, you can continue working through the Workflow guide.

  1. "git pull" to make sure you have an up-to-date copy of the dev branch
  2. Open an issue for the change you want to make/feature you want to add
  3. Create a branch by going into Git Bash and typing in: "git checkout -b branch-name" preferably named by feature, such as "combat-system"
  4. Add any changed/created files with "git add ."
  5. Make your changes, and then 'git commit -m "message"', with the message being a short description of what you have modified. "git push" to submit changes upstream.
  6. Go to the Github repo in your browser and open a pull request for your branch. Request review from a collaborator and assign someone with relevant experience if you feel it is necessary and appropriate.
  7. Await code review and approval to merge.

Editing the Wiki

Please do not edit the Wiki directly! Open an issue first and then make changes; if you would like to request documentation be written into the Wiki for a class you have written, please mention @AlexanderKyron in the pull request for the feature (or open an issue). This is because, while Github does support cloning the Wiki as a repo (and editing directly from the page), it doesn't support all the features that a normal repository has - namely pull requests, issues and easy branching - so it is preferable to centralize all of this work and simply request changes through issues in the normal repo, at the very minimum as a way to notify the Wiki maintainer that changes are being made.

DO NOT MAKE CHANGES & COMMIT DIRECTLY TO MASTER