Table of contents
- 1. What is GitHub
- 2. Advantages of using GitHub
- 3. What is Git
- 4. How GitHub makes life easy for developers
- 5. Why Microsoft buying it
- 6. Transformation of Octocat
- 7. Github Student Developer pack
- 8. GitHub CoPilot
- 9. Onboard to Open source
- 10. Working On GitHub
- 11. Github integration with git
- 12. Get involved with GitHub Community
- 13. GitHub Universe 2022
- 14. References
1. What is GitHub
GitHub is a code hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project. Headquartered in California, it has been a subsidiary of Microsoft since 2018.
It is commonly used to host open-source software development projects. As of January 2023, GitHub reported having over 100 million developers and more than 372 million repositories, including at least 28 million public repositories. It is the largest source code host as of November 2021.
2. Advantages of using GitHub
It makes it easy to contribute to your open-source projects
To be honest, nearly every open-source project uses GitHub to manage their project. Using GitHub is free if your project is open source and includes a wiki and issue tracker that makes it easy to include more in-depth documentation and get feedback about your project. If you want to contribute, you just fork a project, make your changes and then send them a pull request using GitHub web interface.Documentation
By using GitHub, you make it easier to get excellent documentation. Their help section and guides have articles for nearly any topic related to git that you can think of.Showcase your work
Are you a developer and wish to attract recruiters? GitHub is the best tool you can rely on for this. Today, when searching for new recruits for their project, most companies look into the GitHub profiles. If your profile is available, you will have a higher chance of being recruited even if you are not from a great university or college.Markdown
Markdown allows you to use a simple text editor to write formatted documents. GitHub has revolutionized writing by channeling everything through Markdown: from the issue tracker to user comments, everything. With so many other programming languages to learn for setting up projects, it’s really a big benefit to have your content inputted in a format without having to learn yet another system.GitHub is a repository
This was already mentioned before, but it’s important to note, GitHub is a repository.
This means that it allows your work to get out there in front of the public. Moreover, GitHub is one of the largest coding communities around right now, so it’s wide exposure for your project.Track changes in your code across versions
When multiple people collaborate on a project, it’s hard to keep track of revisions—who changed what, when, and where those files are stored. GitHub takes care of this problem by keeping track of all the changes that have been pushed to the repository. Much like using Microsoft Word or Google Drive, you can have a version history of your code so that previous versions are not lost with every iteration.Integration options
GitHub can integrate with common platforms such as Amazon and Google Cloud, services such as Code Climate to track your feedback, and can highlight syntax in over 200 different programming languages.
3. What is Git
Git is a free and open-source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Also, the version control system (VCS) enables one to store code, track revision history, merge code changes, and revert to earlier code versions when needed.
In simple terms, Git is a version control system. In the case of the version control system, the code is saved on the cloud. The cloud is basically a remote machine that is much more reliable than a local computer. So there is nothing to the chance of loss of data by a subsequent system crash. Also, multiple people can contribute to the same code without any conflict. There are different types of version control systems presently in our market that is git, subversion, and mercurial. But Git is by far the best version control system and GitHub is the very popular website to host code that is also based on Git.
4. How GitHub makes life easy for developers
GitHub repositories are essential for developers.
Repositories also allow developers to keep track of the changes they have made in their code over time so they can quickly go back if needed.
Repositories make it easy for developers to work together on a project without having multiple copies of the same files scattered across different locations or computers.
By using GitHub repositories, all team members can access the latest version of any file at any time from anywhere in the world as long as there is an internet connection available.
Finally, GitHub provides tools such as pull requests which allow users to review each other’s changes before merging them into one unified version control system making sure that only quality code gets added into production systems while keeping track of all versions along its history timeline allowing you revert back if needed quickly and efficiently whenever something goes wrong during development cycles saving valuable debugging time down the road.
All these features combined make the GitHub repository an invaluable asset for software engineers around the world helping them stay organized, productive, and efficient while collaborating remotely with others ensuring the successful delivery of high-quality products every single day.
5. Why Microsoft buying it
Not too long ago, the attitude of Microsoft toward any kind of open-source software bordered on outright hatred. That’s not the case anymore. Microsoft’s Windows operating system still dominates the PC market, but now the focus is on mobile and cloud software. Guided by CEO Satya Nadella, the company has transitioned toward becoming a more software-oriented business, working with any OS. That includes programs using open-source software
With all those developers signed up for GitHub, Microsoft feels purchasing the service will allow it to offer its software development tools directly to millions of people, while also keeping Github’s open-source structure intact.
6. Transformation of Octocat
If you have just been learning about GitHub, you may have also seen the company’s odd-looking mascot. The “octocat” has a cute cat’s head, but five octopus-like legs (technically, it only has four legs, with the fifth leg serving as the octocat’s tail). British graphic designer named Simon Oxley created it back in 2006 (he also designed the original Twitter bird mascot).
In any case, GitHub saw the design (which was originally called Octopuss), bought the rights to the mascot from Oxley, and changed the name to Octocat. The website now has a page dedicated to storing all of the Octocat variants members have created over the years.
7. Github Student Developer pack
GitHub Education is a platform that offers students real-world experience with free access to various developer tools. It is free to use for students who register Github Student Developer pack.
8. GitHub CoPilot
GitHub Copilot is a cloud-based artificial intelligence tool developed by GitHub and OpenAI to assist users of Visual Studio Code, Visual Studio, Neovim, and JetBrains integrated development environments (IDEs) by autocompleting code. Currently available by subscription to individual developers, the tool was first announced by GitHub on 29 June 2021, and works best for users coding in Python, JavaScript, TypeScript, Ruby, and Go.
9. Onboard to Open source
Discovering relevant projects :
This is easily the most difficult and possibly most important part of contributing to open source. The good thing is that there is always an abundance of projects that need and welcome open source contributions from people of different skills and experiences.
The best way to identify a project on which to work is to look closely at the projects you already use, that you are looking to use in the future, or that are used in abundance across the globe. They make excellent choices because you are bound to come back to them in your day-to-day activities even in the future.
Below are a few links and resources that can help you identify and contribute to many projects;
GitHub Explore, First Contributors, Contributor Ninja, Open Source Friday, 24 Pull Requests, CodeTriage, Up For Grabs, First Timers Only, First Contributors, SourceSort
Finding good first issues :
If you already know what project you want to work on, you can find beginner-friendly issues in that repository by visiting github.com/<owner>/<repository>/contribute
Opening an issue :
If you encounter a bug in an open source project, check if the bug has already been reported. If the bug has not been reported, you can open an issue to report the bug according to the project's contribution guidelines
Reproducing a reported bug :
You can contribute to an opensource project by validating an issue or adding additional context to an existing issue.
Testing a pull request :
You can also contribute to an open source project by merging a pull request into your local copy of the project and testing the changes. Add the outcome of your testing in a comment on the pull request.
Updating issues :
You can contribute to an open source project by adding additional information to existing issues.
Merge your Pull Request 🎉:
10. Working On GitHub
Sign up
To build an account on GitHub just go through GitHub's official login website and create a new account by signing up with a valid email address. It's taken three or four authentication steps to create your complete GitHub account.
Github Dashboard
This personal dashboard helps to keep track of issues and pull requests you're working on or following, navigate to your top repositories and team pages, stay updated on recent activities in organizations and repositories you're subscribed to, and explore recommended repositories. Not only that this dashboard helps to keep track and store your created repositories as well as forked repositories. Also, you can customize your dashboard with different achievements, tools you can work on, add socials etc.
How to contribute to a project
Find a suitable project according to your tech stack.
Read the project Read.md file and install all the necessary dependencies on your local system.
Also, read the project contribution guideline and code of conducts carefully before working on a particular issue.
First, find beginner friendly and work on good first issues
Clone the project repository in your local system using version control.
After modifying the necessary changes raise a pull request from your personal GitHub account. ( I recommend everyone to test your modified code locally before raising a pull request or pushing your code)
After reviewing your changes by project maintainers, either they request to add new changes or approve your code after a few tests.
Finally, your code is merged 🎉 by approving your pull request by the project maintainer.
Do & Don't while contributing
Before contributing to the project, you should first go through the README.md, CONTRIBUTING.md and CODE_OF_CONDUCT.md files. Both of these files contain an Overall description of the project, contributing guidelines and code of conduct rules for the project which you should follow while contributing a particular project.
Find a new feature/bug/docs fixes first and during this process, you should take a look at the existing Issues and Pull Requests once. In this way, you may find some issues that have not been fixed/taken up by someone which you may take up to solve it but while working on an issue always ask the project maintainers whether the issue is outdated or not otherwise it may generate problems on project releases.
Always ask maintainers about the feature or bug fix that you wanna make in the project and get assigned first before making any pull requests (PRs).
You should have some patience after raising a pull request or report an issue. If you have made an issue today morning, then wait for 2-3 more days to get assigned by the maintainers of the project. If you have created a PR today then you should have at least wait for 7 days to get reviewed and merged.
If the project you're contributing to, doesn't have active maintainers for more than a week after you created an issue or the existing issues are looks outdated, then I'd recommend not contributing to that project and moving to a new one.
It's always better to get in touch with the maintainers of the project you're contributing to via their socials either LinkedIn or twitter. This will help your contribution to get reviewed and merged faster in that project and this also shows that you're eager to help the maintainer of the project in improving it.
While you can always ask for help, you should not disturb the maintainers by messaging them repeatedly at once. I believe all have their respective work in their personal lives or they might be ill. So, you have to work on keeping things in mind.
Don't spam on Pull Request for green squares 🟩to sustain and looks the GitHub calendar great.
11. Github integration with git
GitHub hosts Git repositories and provides developers with tools to ship better code through command line features, issues (threaded discussions), pull requests, code reviews, or the use of a collection of free and for-purchase apps in the GitHub Marketplace. With collaboration layers like the GitHub flow, a community of 100 million developers, and an ecosystem with hundreds of integrations, GitHub changes the way software is built.
12. Get involved with GitHub Community
🚩 https://www.linkedin.com/company/github
13. GitHub Universe 2022
14. References
🚩 https://youtu.be/SYtPC9tHYyQ
🚩 https://youtu.be/yzeVMecydCE
🚩 https://youtu.be/xfuehC7O63M
🚩 https://youtu.be/5JoEB2YTlpw
🚩 https://youtu.be/L1X5f2ZxN0E
That's all for this blog, I hope you will learn something new. And feel free to share your thoughts and feedback, Thanks for reading.
Connect with me on socials 👀
Twitter 🖱
LinkedIn 🖱
Github 🖱