GitHub for Beginners: Getting started with OSS contributions

TL;DR · AI 摘要
本文为初学者提供参与开源项目的GitHub操作指南。
核心要点
- 建议从Fork项目开始,熟悉代码结构后再提交PR。
- 使用GitHub的Issue跟踪功能管理任务和反馈。
- 遵循贡献者指南,确保代码风格与项目一致。
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- GitHub入门与开源贡献
- 基础操作
- 创建仓库
- 初始化项目
- 参与方式
- Fork项目
- 提交PR
- 协作工具
- Issue管理
- Code Review
- 最佳实践
- 代码规范
- 文档撰写
金句 / Highlights
值得收藏与分享的关键句。
建议从Fork一个项目开始,熟悉代码结构后再提交Pull Request。
使用GitHub的Issue追踪功能来管理任务和反馈,提高协作效率。
遵循项目贡献指南,确保代码风格与项目保持一致。
GitHub for Beginners: Getting started with OSS contributions - The GitHub Blog
Skip to contentSkip to sidebar
[](https://github.com/)/Blog
Try GitHub Copilot CLISee what's new
Learn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry.
Learn how to build with generative AI.
Change how you work with GitHub Copilot.
Everything developers need to know about LLMs.
Machine learning tips, tricks, and best practices.
Explore the capabilities and benefits of AI code generation and how it can improve your developer experience.
Learn more
Resources for developers to grow in their skills and careers.
Insights and best practices for building apps.
Tips & tricks to grow as a professional developer.
Improve how you use GitHub at work.
Learn how to move into your first professional role.
Stay current on what’s new (or new again).
Learn how to start building, shipping, and maintaining software with GitHub.
Learn more
Get an inside look at how we’re building the home for all developers.
Discover how we deliver a performant and highly available experience across the GitHub platform.
Explore best practices for building software at scale with a majority remote team.
Get a glimpse at the technology underlying the world’s leading AI-powered developer platform.
Learn how we build security into everything we do across the developer lifecycle.
Find out what goes into making GitHub the home for all developers.
Our engineering and security teams do some incredible work. Let’s take a look at how we use GitHub to be more productive, build collaboratively, and shift security left.
Learn more
Explore how to write, build, and deploy enterprise software at scale.
Automating your way to faster and more secure ships.
Guides on continuous integration and delivery.
Tips, tools, and tricks to improve developer collaboration.
DevOps resources for enterprise engineering teams.
How to integrate security into the SDLC.
Ensuring your builds stay clean.
Learn why Gartner positioned GitHub as a Leader for the second year in a row.
Learn more
Keep up with what’s new and notable from inside GitHub.
An inside look at news and product updates from GitHub.
The latest on GitHub’s platform, products, and tools.
Insights into the state of open source on GitHub.
The latest policy and regulatory changes in software.
Data-driven insights around the developer ecosystem.
Older news and updates from GitHub.
Learn how to use retrieval-augmented generation (RAG) to capture more insights.
Learn more
Everything open source on GitHub.
The latest Git updates.
Spotlighting open source maintainers.
How open source is driving positive change.
Explore open source games on GitHub.
Organizations worldwide are incorporating open source methodologies into the way they build and ship their own software.
Learn more
Stay up to date on everything security.
Application security, explained.
Demystifying supply chain security.
Updates from the GitHub Security Lab.
Helpful tips on securing web applications.
Learn about core challenges in DevSecOps, and how you can start addressing them with AI and automation.
Learn more
Search
Categories
Learn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry.
Learn how to build with generative AI.
Change how you work with GitHub Copilot.
Everything developers need to know about LLMs.
Machine learning tips, tricks, and best practices.
Explore the capabilities and benefits of AI code generation and how it can improve your developer experience.
Resources for developers to grow in their skills and careers.
Insights and best practices for building apps.
Tips & tricks to grow as a professional developer.
Improve how you use GitHub at work.
Learn how to move into your first professional role.
Stay current on what’s new (or new again).
Learn how to start building, shipping, and maintaining software with GitHub.
Get an inside look at how we’re building the home for all developers.
Discover how we deliver a performant and highly available experience across the GitHub platform.
Explore best practices for building software at scale with a majority remote team.
Get a glimpse at the technology underlying the world’s leading AI-powered developer platform.
Learn how we build security into everything we do across the developer lifecycle.
Find out what goes into making GitHub the home for all developers.
Our engineering and security teams do some incredible work. Let’s take a look at how we use GitHub to be more productive, build collaboratively, and shift security left.
Explore how to write, build, and deploy enterprise software at scale.
Automating your way to faster and more secure ships.
Guides on continuous integration and delivery.
Tips, tools, and tricks to improve developer collaboration.
DevOps resources for enterprise engineering teams.
How to integrate security into the SDLC.
Ensuring your builds stay clean.
Learn why Gartner positioned GitHub as a Leader for the second year in a row.
Keep up with what’s new and notable from inside GitHub.
An inside look at news and product updates from GitHub.
The latest on GitHub’s platform, products, and tools.
Insights into the state of open source on GitHub.
The latest policy and regulatory changes in software.
Data-driven insights around the developer ecosystem.
Older news and updates from GitHub.
Learn how to use retrieval-augmented generation (RAG) to capture more insights.
Everything open source on GitHub.
The latest Git updates.
Spotlighting open source maintainers.
How open source is driving positive change.
Explore open source games on GitHub.
Organizations worldwide are incorporating open source methodologies into the way they build and ship their own software.
Stay up to date on everything security.
Application security, explained.
Demystifying supply chain security.
Updates from the GitHub Security Lab.
Helpful tips on securing web applications.
Learn about core challenges in DevSecOps, and how you can start addressing them with AI and automation.
See what's newTry GitHub Copilot CLI
GitHub for Beginners: Getting started with OSS contributions
Learn how to find opportunities to contribute to the open source community.

[Kedasha Kerr](https://github.blog/author/ladykerr/ "Posts by Kedasha Kerr")·@ladykerr
May 11, 2026
| 6 minutes
- Share:
- [](https://x.com/share?text=GitHub%20for%20Beginners%3A%20Getting%20started%20with%20OSS%20contributions&url=https%3A%2F%2Fgithub.blog%2Fdeveloper-skills%2Fgithub%2Fgithub-for-beginners-getting-started-with-oss-contributions%2F)
- [](https://www.facebook.com/sharer/sharer.php?t=GitHub%20for%20Beginners%3A%20Getting%20started%20with%20OSS%20contributions&u=https%3A%2F%2Fgithub.blog%2Fdeveloper-skills%2Fgithub%2Fgithub-for-beginners-getting-started-with-oss-contributions%2F)
- [](https://www.linkedin.com/shareArticle?title=GitHub%20for%20Beginners%3A%20Getting%20started%20with%20OSS%20contributions&url=https%3A%2F%2Fgithub.blog%2Fdeveloper-skills%2Fgithub%2Fgithub-for-beginners-getting-started-with-oss-contributions%2F)
Welcome back to GitHub for Beginners. So far, we’ve discussed GitHub Issues and Projects, GitHub Actions, security, GitHub Pages, and Markdown. This time we’re going to talk about open source software and how to contribute to that community. By the end of this post, you’ll know what open source is, how to find projects to work on, how to read an open source repository, as well as start making your first contributions. So let’s get started!
As always, if you prefer to watch the video or want to reference it, we have all of our GitHub for Beginners episodes available on YouTube.
What is open source?
Open source software (OSS) refers to software that features freely available source code. In contrast with “closed source software,” OSS is publicly available for anyone to use and build upon. This means that all of the work, including the codebase and communication between users, is available for everyone to see.
If you’re just getting started in the world of software development, browsing and contributing to open source projects is a great way to dip your toes into large, impactful projects used by countless users worldwide.
GitHub is the home for open source software, so let’s look at how to find projects you can contribute to.
How to find OSS projects to work on
Contributing to an open source software project for the first time can be daunting—we’ve all been there! The first step is to look for projects in a language that you know which are accepting new contributors. One of the ways you can do this is to ask GitHub Copilot Chat for help.
- Navigate to github.com and select the Copilot icon to open a chat window.
- In the bottom-left corner of the chat window, use the combo box to select Ask.
- Enter a prompt like the following, but remember to update it for a language you’re comfortable with.
I’m looking for a list of open source projects written in TypeScript that are accepting new contributors. Search GitHub and narrow down the list to repositories that use the good first issue label and have over 100 stars on GitHub.[](https://github.com/copilot?prompt=I%E2%80%99m%20looking%20for%20a%20list%20of%20open%20source%20projects%20written%20in%20TypeScript%20that%20are%20accepting%20new%20contributors.%20Search%20GitHub%20and%20narrow%20down%20the%20list%20to%20repositories%20that%20use%20the%20good%20first%20issue%20label%20and%20have%20over%20100%20stars%20on%20GitHub.)
Copilot will do some searching and return a list of projects you can explore filtered by the good first issue label. This label indicates that an issue is beginner friendly, and a great starting point for new contributors. This label is a great way to find issues in a project you can work on.
For example, let’s say that you wanted to contribute to the vscode repository.
- Navigate to the `vscode` repository.
- At the top of the repository, select the Issues tab.
- On the Issues page, click the Labels box to open the drop down menu.
- In the text box on the drop down menu, start typing “good” until you see the option for
good first issue. - Select the
good first issuelabel.
The window will update and display a list of good first issues for you to work on. But before jumping in, you should read the contributor’s guide in the project’s repository. Most well-maintained open source projects will have one.
Understanding an open source project
As we just alluded to, most open source projects have a few things in common if they’re well maintained. These are the following items:
- A well-documented README with installation instructions.
- A contributor’s guide that explains how to contribute.
- An open source license, so everyone knows the project is free to use.
- At least 100 GitHub stars to show it’s used in the community.
- Active development so that you know a maintainer of the source code will be able to review your contributions.
- A
good first issuelabel to indicate its open to new contributors.
When you’re looking for a project to contribute to, these are the things you should be looking for in a repository.
_💡 For more documentation on finding a good open source project, go to gh.io/gfb-oss to learn more about finding good first issues._
Making an OSS contribution
Now let’s look at an actual project and work on how you would submit your first issue. For this demo, take a look at the `gitfolio` repository. Using the bullet points above, we want to see if this would be a good project to work on.
- The project does have a well-documented
READMEfile. - The project has a contributor’s guide:
CONTRIBUTING.md. - You can see the open source license:
LICENSE. - It has several thousands of stars, so well over our 100 benchmark.
- At the top of the file list, you can see the most recent check in which should be fairly recent. While writing this, the last check in was yesterday, indicating the project is being actively maintained.
Based on these points, as long as you are familiar with TypeScript, this is a good repository to contribute to. However, you don’t need to be familiar with TypeScript to continue following along in the demo.
Now you want to create a fork of the repository. A fork is a copy of the repository that we can freely experiment on and make changes in without affecting the original project. We usually use forks for open source contributions. If you need a refresher on forking a repository, check out this previous GitHub for Beginners blog.
- Navigate to the home page of the project if you are not already there.
- At the top of the project, click the Fork button.
- In the new window, leave yourself as the owner and make sure the “Repository name” is the same as the original repository (i.e., “gitfolio”).
- At the bottom of the window, select Create fork.
- In your forked copy of the repository, click
README.mdin the list of files. - Change the file by adding some text.
- In the top-right, select Commit changes…
- Make sure to select the option at the bottom for Create a new branch from this commit and start a pull request.
- Select Propose changes.
- On the following window, click the Create pull request button. This will let you create a pull request to the main repository from your branch with the changes.
- At the top of the “Open a pull request” window, select compare across forks. This will show your fork’s changes compared to the original repository.
- If you were submitting an actual change to the repository—not just walking through a demo—this is where you would give your pull request a title and a description. You’d also want to provide a link to the issue that you were solving in the description of the pull request.
At this point, you’d be ready to submit your pull request by clicking the button at the bottom of the window. However, once you do that, it no longer becomes just a change in your fork and will be a requested update on the original repository. That’s why it isn’t included in the steps above. When you do submit your pull request, it will be available and ready for a maintainer to review and, hopefully, approve!
Once approved and merged, GitHub automatically applies the changes from your fork into the main branch of the original repository, the official source of truth for the codebase.
What’s next?
Congratulations! You’ve learned how to make your own contributions to open source software. I hope it inspires you to contribute to your favorite projects.
And if you’re looking for more information, we have lots of documentation that can help. Here are a few links to get you stated:
- Finding ways to contribute to open source on GitHub
- Contributing to open source projects
- Contributing to a project through forking
Happy coding!
- * *
Tags:
Written by
[Kedasha Kerr](https://github.blog/author/ladykerr/)
Kedasha is a Developer Advocate at GitHub where she enjoys sharing the lessons she's learned with the wider developer community. She finds joy in helping others learn about the tech industry and loves sharing her experience as a software developer. Find her online @itsthatladydev.
Table of Contents
More on [GitHub for beginners](https://github.blog/tag/github-for-beginners/)
[GitHub for Beginners: Getting started with Markdown](https://github.blog/developer-skills/github/github-for-beginners-getting-started-with-markdown/)
Discover how to format and edit your comments and posts using Markdown.
[Kedasha Kerr](https://github.blog/author/ladykerr/ "Posts by Kedasha Kerr")
[GitHub for Beginners: Getting started with GitHub Pages](https://github.blog/developer-skills/github/github-for-beginners-getting-started-with-github-pages/)
Learn how to create a free website for any repository on GitHub Pages.
[Kedasha Kerr](https://github.blog/author/ladykerr/ "Posts by Kedasha Kerr")
Related posts

[GitHub for Beginners: Getting started with Markdown](https://github.blog/developer-skills/github/github-for-beginners-getting-started-with-markdown/)
Discover how to format and edit your comments and posts using Markdown.
[Kedasha Kerr](https://github.blog/author/ladykerr/ "Posts by Kedasha Kerr")

[GitHub for Beginners: Getting started with GitHub Pages](https://github.blog/developer-skills/github/github-for-beginners-getting-started-with-github-pages/)
Learn how to create a free website for any repository on GitHub Pages.
[Kedasha Kerr](https://github.blog/author/ladykerr/ "Posts by Kedasha Kerr")

[GitHub for Beginners: Getting started with GitHub security](https://github.blog/developer-skills/github/github-for-beginners-getting-started-with-github-security/)
Learn how to secure your projects and keep them safe with GitHub Advanced Security.
[Kedasha Kerr](https://github.blog/author/ladykerr/ "Posts by Kedasha Kerr")
Explore more from GitHub
Docs
Everything you need to master GitHub, all in one place.
GitHub
Build what’s next on GitHub, the place for anyone from anywhere to build anything.
Customer stories
Meet the companies and engineering teams that build with GitHub.
The GitHub Podcast
Catch up on the GitHub podcast, a show dedicated to the topics, trends, stories and culture in and around the open source developer community on GitHub.
We do newsletters, too
Discover tips, technical guides, and best practices in our biweekly newsletter just for devs.
Your email address
*Your email address
Subscribe
- [x] Yes please, I’d like GitHub and affiliates to use my information for personalized communications, targeted advertising and campaign effectiveness. See the GitHub Privacy Statement for more details.
Subscribe
Site-wide Links
[](https://github.com/)