What is GitHub?
GitHub is a website and service that allows people to store and share their code online. It’s often used by developers, but anyone can use it to create and share their own projects, or to contribute to other people’s projects. Think of it like a virtual library for code, where you can store and retrieve different versions of your code, collaborate with others, and even track issues and bugs. It’s a great tool for anyone who wants to learn how to code, as it allows you to see how others have written code and learn from it.
Getting Started
If you do not have a GitHub account yet, follow these instructions to create one.
⚠️ Note: You will need to provide a valid email address to create a GitHub account. You will also need to verify your email address before you can use GitHub. This email will remain private until you upload something to GitHub, at which point it will be used to sign your contributions—unless you configure a private no-reply
email.
Tips and Tricks
Tip 1: 🌟 Star repositories you find interesting
GitHub allows you to star repositories you find interesting. This is a great way to keep track of repositories you want to come back to later, or that you want to use as a reference. You can also use the “Watch” feature to get notifications when a repository is updated.
A “star” is also a way for someone to show that they like or find a project useful, similar to “liking” a post on social media. The number of stars a project has is a way for people to quickly gauge the popularity and usefulness of a project. It can also indicate the level of community engagement and support of the project.
You can read GitHub’s official documentation on stars and on watching repositories, but the essential information is summarized below.
Starring a repository
To star a repository, log in to GitHub and go to the page of the repository you want to star. On the top right of the page, click the “Star” button.
For instance, let’s go to the following repository:
https://github.com/woop/awesome-quantified-self
💡 An “Awesome List” on GitHub is a curated list of resources related to a particular topic or technology, often created and maintained by a community of contributors. These lists are usually hosted on a GitHub repository and are often organized alphabetically or by category. They provide a convenient way for people to discover new and useful resources related to a specific topic, such as specific programming languages, frameworks, or tools. Often, the name of the repository will be in the format “awesome-{topic}
” e.g “awesome-python
” or “awesome-machine-learning
”. These lists can be a good starting point for developers looking to learn a new technology or find libraries and tools to use in their projects.
In this case, the “Awesome Quantified Self List” is a curated list of resources to track your own data, to gain insights into your health and well-being. The list includes resources on data collection, data visualization, and data analysis.
At the top right of the page, the “Star” button indicates how many people have already starred the repository, and gives you the option to star it yourself:
Once the button is clicked, the number of stars increases by one, and the button changes to indicate that you have starred the repository:
Browsing and searching your stars
There are several places that you can browse and search through your stars, but the most flexible place to go is: https://github.com/stars
Tip 2: 🤝 GitHub is a social network, so configure your profile
GitHub is considered a social network as it provides a platform for developers, data scientists, anybody who can code to connect, collaborate, share their work and get feedback. It enables developers to find peers with similar interests and skills, share their code and projects, and use tools like pull requests and issues for collaboration. Additionally, its vast community of developers allows for learning from others, sharing knowledge and best practices, making it an ideal starting point for new developers to learn from more experienced peers and contribute to projects.
GitHub is one of the most beneficial social networks, because it’s mostly not performative—it’s all about the work you do. But it’s important to properly represent yourself.
On your GitHub.com profile:
- Upload a recent headshot
- Configure your full name, i.e., Jérémie Lumbroso.
- Provide your affiliation, i.e., @PrincetonUniversity
- Provide your location, i.e., Princeton, NJ
- Provide your bio, i.e., degree, class year, major
Later you can:
- create a
README.md
message to introduce people to your profile: https://github.com/jlumbroso/jlumbroso/blob/main/README.md - Read more about that here: https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme
Look at my GitHub profile: https://github.com/jlumbroso
Lexicon
Below is a list of terms that you will encounter when using GitHub. It’s not meant to be exhaustive, but it should give you a good idea of the most common terms. The “Basic Terms” are the ones we will use on this guide; the “Advanced Terms” might be useful to you in your continued exploration.
Basic Terms
Repository (or “repo” for short) - this is the location where the code for a specific project is stored on GitHub (with the history of all its versions).
Commit - a commit is a change or addition to the code in a repository. It’s essentially a “save point” for the code, and it records the changes made at that point in time.
Clone - a clone is a copy of a repository that you can download to your computer so you can work on the code locally.
Gist - a Gist is a simple way to share code snippets on GitHub, you can share single files or a collection of files.
Advanced Terms
Branch - a branch is a copy of the code in a repository that allows you to make changes without affecting the main version of the code. This allows multiple people to work on different parts of the code simultaneously.
Pull Request - a pull request is a request made to the owner of a repository to merge changes made on a branch back into the main version of the code.
Merge - when a pull request is accepted, the changes on the branch are “merged” into the main version of the code.
Fork - a fork is a copy of a repository that you can make to your own account. This allows you to make changes to the code and submit pull requests to the original repository.
Issue - an issue is a problem or bug that has been identified in the code. Developers can use the issue tracker on GitHub to track and fix problems in the code.
Collaborator - a collaborator is someone who has been given permission to make changes to a repository.
“Awesome list” - a curated list of resources related to a particular topic or technology, often created and maintained by a community of contributors.