--- title: GitHub sidebar_position: 10 description: This page outlines working with GitHub, including branch naming conventions and information related to creating a pull request. keywords: - Commit changes - PR creation - Branch naming conventions - Commit guidelines - GitHub - contributing - submission - cheat sheet --- import HeadTitle from '@site/src/components/General/HeadTitle.tsx'; This page covers working with the GitHub repository, and contributing code via a pull request. ## GitHub Cheat Sheet See the page [here](https://training.github.com/downloads/github-git-cheat-sheet/) for a GitHub cheat sheet. ## Merge Conflicts If you have installed the OpenBB Platform in editable mode (i.e, with `dev_install.py`), you may encounter merge conflicts when switching branches. They will most likely originate from the static assets automatically generated for the Python interface, and are in the folders: - `/openbb_platform/openbb/assets` - `/openbb_platform/openbb/package` Discard any changes within and they will be regenerated upon the next initialization. Alternatively, `git stash` will do the trick. ## Contributing Code contributions are made by creating a pull request on GitHub. Branches should typically be created from the `/develop` branch, and they should be named according to the conventions described next section below. ### Branch Naming Conventions Before creating a new branch, switch to the `develop` branch and update your local cloned repo. ```console git fetch git checkout develop ``` If there are conflicting changes with the develop branch, `stash` the local changes first. To submit a PR, a local branch or fork must be named according to the naming conventions: - `feature/feature-name` - `bugfix/bugfix-name` - `docs/docs-name` These branches can only have PRs pointing to the `develop` branch. ### Create Pull Request A pull request should contain descriptions and details of all proposed changes, with any details maintainers and testers will need to know. Please use one of the supplied Pull Request Templates. Linting errors should be cleared, and any tests related to the changed files should be passing.