|
| 1 | +# General Contribution Guidelines |
| 2 | + |
| 3 | +1. If code changes are being made, please include documentation **following the guidelines in the Wiki** (typings are also welcome, but we can probably do them for you, given the documentation). |
| 4 | +2. (For the maintainers of this repo) Label PRs appropriately. |
| 5 | +3. Link relevant issues. |
| 6 | +4. Ensure compatibility with the latest changes in the repo. |
| 7 | + |
| 8 | +## Contributing to the Manim Community Fork - General instructions |
| 9 | + |
| 10 | +As this is a Fork of [Manim by 3b1b](https://github.com/3b1b/manim), contributing can be a bit confusing. Because of that, here is a small guide on it. |
| 11 | + |
| 12 | +1. First, make a fork of this repository. |
| 13 | +2. Then clone the repository you forked using the command below (bash/zsh). |
| 14 | + |
| 15 | + ```sh |
| 16 | + git clone <your-fork-url> |
| 17 | + cd manim |
| 18 | + ``` |
| 19 | + |
| 20 | +3. Now that you have cloned the repo, before making any changes, you have to enter the commands below in order to be able to contribute to Manim Community. |
| 21 | + |
| 22 | + ```sh |
| 23 | + git remote add fork https://github.com/ManimCommunity/manim.git |
| 24 | + git fetch fork |
| 25 | + git checkout -b <your-branch-name> fork/master |
| 26 | + ``` |
| 27 | + |
| 28 | + The first command tells `git` that you are going to make a Pull Request to Manim Community. |
| 29 | + The second command pulls all the commits from the aforementioned fork. |
| 30 | + Finally, the third one makes your current working branch up-to-date with Manim Community's master branch. |
| 31 | + |
| 32 | + Now there are three repositories that git is keeping track of: the manim community repo (referred to as "fork"), your own fork of it (referred to by git as "origin"), and your local repository. |
| 33 | + |
| 34 | +4. After that, you can make your changes to the repo's files (the code is in the `manim` directory). Then, you can commit said changes. |
| 35 | + |
| 36 | +5. Finally, instead of typing in `git push`, enter the command below. |
| 37 | + |
| 38 | + ```sh |
| 39 | + git push -u origin <your-branch-name> |
| 40 | + ``` |
| 41 | + |
| 42 | + Doing so creates a new branch with the updated contents of your fork on GitHub. |
| 43 | + |
| 44 | + Then you can make a Pull Request to the Manim Community Repo from your fork, through GitHub. Make sure to select `ManimCommunity/manim` instead of `3b1b/manim` as the `base repository` and your fork and branch as `head repository` - see the picture below. |
| 45 | + |
| 46 | +  |
| 47 | + |
| 48 | +Also make sure to pull from upstream/master right before making a Pull Request, resolve merge conflicts locally and only then submit the Pull Request. |
0 commit comments