When we love someone’s repository and would like to have it in our GitHub account, we fork it so that we can work with it separately.
When we fork a repository, we get an instance of that entire repository with its whole history. After forking, we can do whatever we want to do without affecting the original version.
Pull requests are the way we contribute to group projects or open source projects.
For instance, a user Harry forks a repository of ThanoshanMV and makes changes to that repository. Now Harry can make a pull request to ThanoshanMV, but it’s up to ThanoshanMV to accept or decline it. It’s like saying, “ThanoshanMV, would you please pull my changes?”
Not only can we contribute to an open source project with code, but we can also contribute in many other ways. Some of these ways are described below.
We can contribute to an open source project in the following ways:
1. Designing: You can construct the layouts of a project to improve its usability, improve the project’s navigation and menu based on user research programs, create art for logos or t-shirts, and provide style guides for the project.
2. Writing: You can write and improve the project’s documentation or translate the documentation, start a newsletter for the project or write tutorials for the project and curate highlights from the mailing list, or curate a folder of examples showing how the projects are used.
3. Organizing: You can link duplicate issues, suggest new issue labels, suggest to close old open issues and ask questions on recently opened issues to move the discussion forward.
4. Help others: Answer questions on open issues, review code on other people’s submissions and offer to mentor another contributor.
5. Coding: Help solve any open issues, ask if you can provide any new features and improve tooling and testing.
If you’re not very familiar with Git & GitHub, please check out this session.
1. Fork the repository
Fork the repository by clicking the fork button on the top of the page. This will create an instance of that entire repository in your account.
2. Clone the repository
Once the repository is in your account, clone it to your machine to work with it locally.
To clone, click on the clone button and copy the link.
$ git clone https://github.com/Club-TechBrewers/Club-TechBrewers.github.io.git
$ cd /Club-TechBrewers.github.io
3. It’s good practice to create a new branch when working with repositories, whether it’s a small project or contributing to a group's work.
Branch name should be short and it should reflect the work we’re doing.
$ git checkout -b [Branch Name]
4. Make essential changes to the project and save it.
Then execute '$ git status', and you’ll see the changes.
$ git add
$ git commit -m "Enter your commit message here"
5. Push changes to GitHub
In order to push the changes to GitHub, we need to identify the remote’s name.
$ git remote
Before creating an Issue for features
/bugs
/improvements
please follow these steps:
- Search existing Issues before creating a new issue (has someone raised similar issue already)
- If it doesn't exist create a new issue by giving as much context as possible
- Please specify the correct Issue type in issue title, if the issue is a feature/improvement mention
[Feature] <Issue_title>
, if it is a bug mention[Bug] <Issue_title>
(for example[Feature] Update readme.md file with steps to clone the project
)
Before working on an existing Issue please follow these steps:
- Only ask to be assigned 1 issue at a time
- Comment asking for the issue to be assigned to you (do not tag maintainers on GitHub as all maintainers receive your comment notifications)
- Only start working on this Issue (and open a Pull Request) when it has been assigned to you - this will prevent confusion, multiple people working on the same issue and work not being used
- Reference the Issue in your Pull Request (for example
closes #123
orfixes #123
)
We welcome everyone to review Pull Requests, it is a great way to learn, network and support each other.
- Be kind and respectful, we use inclusive, gender neutral language (for example
they/them
instead ofguy/man
) - Use inline comments to explain your suggestions
- Use inline suggestions to propose changes
- Do not be rude, disrespectful or aggressive
- Do not repeat feedback, this creates more noise than value (check the existing conversation), use GitHub reactions if you agree/disagree with a comment
- Do not blindly approve pull requests to improve your GitHub contributors graph
Note: Persistent non-compliance with this Contributing Guide can lead to a warning and/or ban under the Code of Conduct