curriculum/challenges/english/blocks/lecture-introduction-to-git-and-github/688290189fecfe7206d22833.md
In a previous lesson, we briefly mentioned GitHub. Both GitHub and Gitlab are version control providers. This means they are cloud-based solutions that offer storage of version-controlled projects in something called "repositories", and enable collaboration features to use with those projects.
Before we dive in to the features these platforms offer, we need to discuss the different types of projects. Many projects are considered "open-source", which means people can see the code you publish, propose changes, report issues, and even run a modified version.
But sometimes you may only want your teammates to see and work on the code. You can also publish a project as "closed-source", meaning the only people who can see and interact with the project are the people you explicitly authorize.
Regardless of which approach your project takes, sites like GitHub and Gitlab can massively level up your team's collaboration.
For example, a teammate working on a feature might be stuck and have questions. Rather than having to copy-paste the code into Discord for you to read, or hop on a call to screen share their work, they can upload the changes directly to GitHub. From there, you can view the changes in your browser or even download the changes to run and debug locally.
When a teammate has completed a feature, they can propose the changes through these websites. You are then able to review the changes, leaving comments on specific files or lines if you have thoughts and questions. You can even propose suggested edits which they can apply to the changes right there in the browser!
If you are happy with the changes, you can accept them and merge them into your primary branch. This means the entire team can then download the latest changes locally so they have the most up-to-date code when they start on their next task.
Speaking of tasks, these sites also offer powerful issue trackers. You can use these to track and assign tickets to your team members, accept bug reports from the public, and even plan full sprints through things like the project boards.
There are many more features offered by these sites. In the next few lessons, we'll cover the key aspects so you can dive right in and start collaborating!
What is the main purpose of GitHub and GitLab as discussed in the lesson?
Primarily for storing backups of code.
Consider what these platforms allow teams to do with their projects.
Version control providers with collaboration features.
Platforms exclusively for open-source projects.
Consider what these platforms allow teams to do with their projects.
Tools for writing and editing code online.
Consider what these platforms allow teams to do with their projects.
2
What is an advantage of using GitHub or GitLab for team collaboration?
They automatically fix bugs in your code.
Think about how these platforms improve the workflow between teammates.
They eliminate the need for code reviews.
Think about how these platforms improve the workflow between teammates.
Team members can propose changes that others can review online.
They provide free web hosting for all projects.
Think about how these platforms improve the workflow between teammates.
3
Which of the following project management features do GitHub and GitLab offer?
Automatic code generation.
Think about how these platforms help organize work within a team.
Issue trackers and project boards.
Direct integration with Discord.
Think about how these platforms help organize work within a team.
Free domain name registration.
Think about how these platforms help organize work within a team.
2