...
Before reading, please view the the GitHub General WorkFlow Page
Master branch
The master branch is the most up-to-date, stable version of the code. This branch is maintained by the OpenSim Team. Usually, people do not commit directly onto the master branch.
Branches
Branches other than the master branch are used to work on new code design, fix bugs and experiment. Branches are merged to the master using pull requests and can only be merged if all tests pass. A conceptual map of how this branching works can be found and here.
Tags and Releases
Tags and Releases are references to a specific commit in the repository, marking for specific moments in the development history. We use tags solely to mark the commit used for a release of the software. GitHub lists all the releases/tags in the repository.
...
Here are some ways to use Git for windows users:
Git Bash (Git Shell) | A command window or shell that is controlled using typed commands. Requires a knowledge of the commands available. | |
TortoiseGIT | For user's used to tortoiseSVN, tortoiseGIT gives functionality through 'right-click' cammands on folders and files in your workspace. | |
GitHub for windows | A simplified, clean GUI that gives all the main functionality with simplified features. |
...
GitHub resources
...
- The git book. Really well-written. If you want to understand what's going on, look here.
- way Interactive way to learn the basics of command-line git.
- Pretty thorough description of different git commands.
List of git/github cheat sheets:
- GitHub Cheat sheet.
- GitHub common workflow.
- Very interactive. Shows workspace, index, local repo, remote repo.
- An annotated list of commands.
- Workflow, and rebase.
- Organized by commands.
- .
...
Contributing using forks
We welcome any contribution to our source code! However, only certain people have write access to the repositories in our organization. This is done to ensure we can review the changes people want to make to OpenSim. Here's the process to contribute:
...
This diagram illustrates forks, clones, pull requests, pushing, and pulling: