Collaborative Coding with GitHub

Paths

Collaborative Coding with GitHub

Authors: Gill Cleeren, Lisa Walkosz-Migliacio, Aaron Stewart, Enrico Campidoglio, Piotr Gaczkowski, Stefan Roman, Kamran Ayub

GitHub is a web-based hosting service for version control using git. It is mostly used for computer code. It offers all of the distributed version control and source code... Read more

What You Will Learn

  • Creating Repositories
  • Managing Repositories
  • Working With User Settings
  • Tracking Issues
  • Pull Requests
  • GitHub Wiki
  • Searching GitHub
  • Continuous Integration
  • Managing an Organization
  • Building Custom Actions
  • Collaboration and Social Features
  • Managing Open Source Projects
  • Building Software
  • GitHub Actions
  • GitHub Desktop

Pre-requisites

  • Git

Beginner

Get started by learning the basics of GitHub while creating your first pull request.

GitHub: Getting Started

by Gill Cleeren

Feb 6, 2020 / 3h 8m

3h 8m

Start Course
Description

GitHub is a leading code repository site backed by Git. Millions of developers use GitHub daily as their go-to place for sharing code with the community. In this course, GitHub Getting Started, you will gain the ability to work efficiently with Git and GitHub. First, you will learn work with repositories and branches, both locally using Git and on GitHub. Next, you will discover how to work with the GitHub flow. Finally, you will explore how to how to use GitHub for other tasks than source code management, including working with issues, project, wiki, and pages. When you are finished with this course, you will have the skills and knowledge of working with GitHub effectively needed to become a more productive developer.

Table of contents
  1. Course Overview
  2. An Overview of Git and GitHub
  3. Getting Started with GitHub
  4. Working with Repositories
  5. Collaborating Using the GitHub Flow
  6. Tracking Issues and Creating Releases
  7. Creating a GitHub Wiki
  8. Working with Social Features

GitHub Pull Requests from Start to Finish

by Lisa Walkosz-Migliacio

Feb 19, 2020 / 1h 32m

1h 32m

Start Course
Description

Pull Requests can sound intimidating at first, especially when you must pair them with git commits, pulls and pushes. In this course, GitHub Pull Requests from Start to Finish, you will learn the process of bringing in code from a Git repository in an organized fashion, allowing software development teams to be able to track and review each other's work before deploying to production. First, you will create some pull requests and get approvals. Next, you will discover how to review code with and for others. Finally, you will explore common scenarios you’ll encounter when using pull requests. When you’re finished with this course, you will know how and why pull requests can lead to a more stable, better written, and useful codebase.

Table of contents
  1. Course Overview
  2. What Is a Pull Request?
  3. Viewing Your First Pull Request
  4. Creating Your First Pull Request
  5. Changing and Accepting Pull Requests

Intermediate

Optimize your GitHub workflow while creating custom actions. Then dive into the admin side of GitHub as well as how to open source your projects.

Supercharging Your GitHub Workflow

by Aaron Stewart

Sep 18, 2019 / 1h 33m

1h 33m

Start Course
Description

GitHub is a software development platform inspired by the way you work. With over 40 million developers using GitHub, it has become the most popular code hosting service among software developers, project managers, team members, and innovation leaders.

In this course, you’ll be introduced to the GitHub flow, a simplified but powerful workflow that is used by companies both large and small, all around the world. This course then takes this workflow and supercharges it to include things like continuous integration, continuous deployment, branch protections, code review, merge strategies, and customizing a workflow that works for you. You’ll then be introduced to what InnerSource is and how it can transform collaboration and transparency within an organization by improving the way you work with others.

Table of contents
  1. Course Overview
  2. The Modern Software Development Pipeline
  3. The Supercharged GitHub Workflow in Action
  4. Customizing Your GitHub Workflow

Building Custom GitHub Actions

by Enrico Campidoglio

Feb 14, 2020 / 2h 11m

2h 11m

Start Course
Description

GitHub Actions is the official automation solution and sets it apart from other products in the same category is the fact that it's deeply integrated with the GitHub platform. This means you can use it not only for CI/CD, but to automate other parts of your workflow as well. While there's a lot you can do with GitHub Actions out of the box, every project has its own set of needs. The best way to make GitHub Actions fit your project, then, is by creating your own custom actions. In this course, Building Custom GitHub Actions, you will gain an understanding of how GitHub Actions work and how they integrate with the rest of the GitHub platform. First, you will learn triaging issues, requesting code reviews, merging Pull Requests and even creating releases. Next, you will discover how to create real-world GitHub Actions from the ground up using either TypeScript or Docker. Finally, You will explore the pros and cons of TypeScript vs. Docker actions and how to choose the one that makes the most sense in a given scenario. By the end of this course, you will be able to take full advantage of the GitHub Actions platform by creating your own custom actions.

Table of contents
  1. Course Overview
  2. Anatomy of a GitHub Action
  3. Creating a JavaScript Action
  4. Creating a Docker Action
  5. Publishing an Action in the GitHub Marketplace

Open Source Your GitHub Project

by Piotr Gaczkowski

Mar 26, 2020 / 2h 6m

2h 6m

Start Course
Description

Releasing a product to the open source community can bring you a lot of users, but it also poses challenges. In this course, Open Source Your GitHub Project, you’ll learn to lead a project that the users will love. First, you’ll explore the responsibilities of a project maintainer. Next, you’ll discover how to build, grow, and nurture the community. Finally, you’ll learn how to ensure the longevity of your project. When you’re finished with this course, you’ll have the skills and knowledge of open source licensing, community management, and product development needed to maintain a successful open source project.

Table of contents
  1. Course Overview
  2. The Role of the Open Source Maintainer
  3. Choosing an Open Source License
  4. Managing a Project on GitHub
  5. Building a Community
  6. Growing a Community

Getting Started with GitHub Desktop

by Stefan Roman

Feb 1, 2020 / 1h 8m

1h 8m

Start Course
Description

Working with git command line tools to contribute code comes with many challenges, especially when learning the basics of Git. Many commands are very complex and sometimes don't do what we expect them to do. GitHub Desktop is a Git client created by GitHub to shorten the learning process of learning complex git commands, and improve workflow of experienced Git users. In this course, Getting Started with GitHub Desktop, you will gain the ability to effectively contribute code via GitHub Desktop client, without the use of Git command line tools. First, you will learn how to manage repositories via GitHub Desktop. Next, you will discover how to manage branches and resolve conflicts using GitHub Desktop. Finally, you will explore about different merging strategies and how to create pull requests. When you are finished with this course, you will have the skills and knowledge of GitHub Desktop alongside best practices needed to effectively contribute code via GitHub Desktop client, without the use of Git command line tools. Software required: GitHub Desktop and Web Browser

Table of contents
  1. Course Overview
  2. Starting New Repositories with GitHub Desktop
  3. Working from Branches with GitHub Desktop
  4. Merging Branches with GitHub Desktop

Advanced

Learn how to foster an InnerSource culture with GitHub and contribute to Open Source projects.

Adopting an InnerSource Culture with GitHub

by Aaron Stewart

Mar 30, 2020 / 1h 43m

1h 43m

Start Course
Description

In today's environment people are asked to innovate faster than ever before. The idea of digital transformation is no longer a novel concept. Even if you’ve never heard the term “InnerSource” to describe how teams build their software, you’ll probably still recognize many of the principles behind it. In this course, Adopting an InnerSource Culture with GitHub, you'll be introduced to InnerSource best practices backed by customer stories where InnerSource is powering code at the world's most influential companies. First, you'll build out a Git repository as an InnerSource toolkit with content and resources to guide you and your team, as well as your organization. Next, you'll kickstart your InnerSource adoption which will lead to better communication, a larger contribution pool, and transparent and concise visibility into your projects for better metrics, outcomes and sustainability. Finally, you'll explore how to implement these best practices to keep these large-scale open source projects successeful.By the end of this course, you'll be able to harness the collective intelligence of your organization and build amazing proprietary software across industries, teams, and time zones.

Table of contents
  1. Course Overview
  2. Why Companies Are Adopting InnerSource?
  3. Applying InnerSource Practices
  4. Customize a Checklist for Measuring Success

Contributing to an Open Source Project on GitHub

by Kamran Ayub

Dec 31, 2019 / 1h 48m

1h 48m

Start Course
Description

Where do you begin to get involved in an open source project? In this course, Contributing to an Open Source Project on GitHub, you will learn foundational knowledge of how to be an effective open source contributor. First, you will explore how to find a project that suits your interests. Next, you will discover how to tackle common pull request scenarios in the real world by working with others. Finally, you will learn how to leverage GitHub's social features to keep updated on what you care about most. When you are finished with this course, you will have the skills and knowledge of working with open source projects needed to make high-quality contributions you will be proud of.

Table of contents
  1. Course Overview
  2. Getting Involved in an Open Source Project
  3. Preparing to Make a Contribution
  4. Collaborating Effectively on Pull Requests
  5. Staying Updated With Social Features