-
-
Notifications
You must be signed in to change notification settings - Fork 178
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
599c0cc
commit fd2e0b7
Showing
1 changed file
with
118 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
# Welcome to the Contributing Guide of cheatsheet<!-- omit in toc --> | ||
|
||
Thank you for investing your time in contributing to our project! Any contribution you make will be reflected on [docs.github.com](https://docs.github.com/en) :sparkles:. | ||
|
||
Read our [Code of Conduct](./CODE_OF_CONDUCT.md) to keep our community approachable and respectable. | ||
|
||
In this guide you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR. | ||
|
||
## New Contributor Guide | ||
|
||
See the [README](README.md) to get an overview of the project. Here are some helpful resources to get you comfortable with open source contribution: | ||
|
||
- [Finding ways to contribute to open source on GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github) | ||
- [Set up Git](https://docs.github.com/en/get-started/quickstart/set-up-git) | ||
- [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow) | ||
- [Collaborating with pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests) | ||
|
||
|
||
## Getting started | ||
|
||
See [the introduction to working in the docs repository](/contributing/working-in-docs-repository.md) to navigate our codebase with confidence :confetti_ball:. See [the GitHub Markdown reference](contributing/content-markup-reference.md) for information on how we write our markdown files. | ||
|
||
Before making changes, see what [types of contributions](/contributing/types-of-contributions.md) we accept. Some of them don't require writing even a single line of code :sparkles:. | ||
|
||
### Forking the Repository | ||
|
||
You can fork a repository on GitHub by navigating with your browser to the GitHub URL of the open-source project. | ||
|
||
GitHub repository URLs will reference both the username associated with the owner of the repository, as well as the repository name. For example, darkmatter18 is the owner of the cheatsheet project repository, so the GitHub URL for that project is: | ||
https://github.com/darkmatter18/cheatsheet | ||
|
||
In the above example, *darkmatter18* is the username and *cheatsheet* is the repository name. | ||
|
||
Once you have identified the project you would like to contribute to, you can navigate to the URL, which will be formatted like so: | ||
https://github.com/username/repository | ||
|
||
Or you can search for the project using the GitHub search bar. | ||
|
||
When you’re on the main page for the repository, you’ll see a Fork button on your upper right-hand side of the page, underneath your user icon: | ||
|
||
 | ||
|
||
Click on the fork button to start the forking process. Within your browser window, you’ll receive a notification that the repository you’re forking is being processed. | ||
Once the process is done, your browser will go to a screen similar to the previous repository screen, except that at the top you will see your username before the repository name, and in the URL it will also say your username before the repository name. | ||
|
||
So, in the example above, instead of *darkmatter18 / cheatsheet* at the top of the page, you’ll see *your-username / cheatsheet*, and the new URL will look like this: | ||
https://github.com/your-username/cheatsheet | ||
|
||
### Issues | ||
|
||
#### Create a new issue | ||
|
||
If you spot a problem with the docs, [search if an issue already exists](https://docs.github.com/en/github/searching-for-information-on-github/searching-on-github/searching-issues-and-pull-requests#search-by-the-title-body-or-comments). If a related issue doesn't exist, you can open a new issue using a relevant [issue form](https://github.com/github/docs/issues/new/choose). | ||
|
||
#### Solve an issue | ||
|
||
Scan through our [existing issues](https://github.com/github/docs/issues) to find one that interests you. You can narrow down the search using `labels` as filters. See [Labels](/contributing/how-to-use-labels.md) for more information. | ||
|
||
### Make Changes | ||
|
||
#### Make changes in the UI | ||
|
||
Click **Make a contribution** at the bottom of any docs page to make small changes such as a typo, sentence fix, or a broken link. This takes you to the `.md` file where you can make your changes and [create a pull request](#pull-request) for a review. | ||
|
||
#### Make changes locally | ||
|
||
1. [Install Git LFS](https://docs.github.com/en/github/managing-large-files/versioning-large-files/installing-git-large-file-storage). | ||
|
||
2. Fork the repository. | ||
- Using GitHub Desktop: | ||
- [Getting started with GitHub Desktop](https://docs.github.com/en/desktop/installing-and-configuring-github-desktop/getting-started-with-github-desktop) will guide you through setting up Desktop. | ||
- Once Desktop is set up, you can use it to [fork the repo](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/cloning-and-forking-repositories-from-github-desktop)! | ||
|
||
- Using the command line: | ||
- [Fork the repo](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo#fork-an-example-repository) so that you can make your changes without affecting the original project until you're ready to merge them. | ||
|
||
- GitHub Codespaces: | ||
- [Fork, edit, and preview](https://docs.github.com/en/free-pro-team@latest/github/developing-online-with-codespaces/creating-a-codespace) using [GitHub Codespaces](https://github.com/features/codespaces) without having to install and run the project locally. | ||
|
||
3. Install or update to **Node.js v16**. For more information, see [the development guide](contributing/development.md). | ||
|
||
4. Create a working branch and start with your changes! | ||
|
||
### Commit your update | ||
|
||
Commit the changes once you are happy with them. See [Atom's contributing guide](https://github.com/atom/atom/blob/master/CONTRIBUTING.md#git-commit-messages) to know how to use emoji's for commit messages. | ||
|
||
Once you are ready with your changes, don't forget to [self review](/contributing/self-review.md) to quicken the review process :zap:. | ||
|
||
### Pull Request | ||
|
||
When you're done making the changes, open a pull request, often referred to as a PR. | ||
- Fill out the "Ready for review" template so we can review your PR. This template helps reviewers understand your changes and the purpose of your pull request. | ||
- Don't forget to [link PR to issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) if you are solving one. | ||
- Enable the checkbox to [allow maintainer edits](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork) so the branch can be updated for a merge. | ||
Once you submit your PR, a Docs team member will review your proposal. We may ask questions or request for additional information. | ||
- We may ask for changes to be made before a PR can be merged, either using [suggested changes](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request) or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch. | ||
- As you update your PR and apply changes, mark each conversation as [resolved](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request#resolving-conversations). | ||
- If you run into any merge issues, checkout this [git tutorial](https://lab.github.com/githubtraining/managing-merge-conflicts) to help you resolve merge conflicts and other issues. | ||
|
||
### Your PR is merged! | ||
|
||
Congratulations :tada::tada: The GitHub team thanks you :sparkles:. | ||
|
||
Once your PR is merged, your contributions will be publicly visible on the [GitHubs docs](https://docs.github.com/en). | ||
|
||
Now that you are part of the GitHub docs community, see how else you can [contribute to the docs](/contributing/types-of-contributions.md). | ||
|
||
## Windows | ||
|
||
This site can be developed on Windows, however a few potential gotchas need to be kept in mind: | ||
|
||
1. Regular Expressions: Windows uses `\r\n` for line endings, while Unix based systems use `\n`. Therefore when working on Regular Expressions, use `\r?\n` instead of `\n` in order to support both environments. The Node.js [`os.EOL`](https://nodejs.org/api/os.html#os_os_eol) property can be used to get an OS-specific end-of-line marker. | ||
2. Paths: Windows systems use `\` for the path separator, which would be returned by `path.join` and others. You could use `path.posix`, `path.posix.join` etc and the [slash](https://ghub.io/slash) module, if you need forward slashes - like for constructing URLs - or ensure your code works with either. | ||
3. Bash: Not every Windows developer has a terminal that fully supports Bash, so it's generally preferred to write [scripts](/script) in JavaScript instead of Bash. | ||
4. Filename too long error: There is a 260 character limit for a filename when Git is compiled with `msys`. While the suggestions below are not guaranteed to work and could possibly cause other issues, a few workarounds include: | ||
- Update Git configuration: `git config --system core.longpaths true` | ||
- Consider using a different Git client on Windows |