intro-to-github

A friendly introduction to GitHub as part of @OpenDataManchester's Pick N Mix series.

View the Project on GitHub rainsworth/intro-to-github

GitHub for collaboration and best practices

At the heart of GitHub is collaboration. The GitHub flow was developed for collaboration on projects. To make it work for teams regardless of their size or technical expertise, GitHub made sure each step in their workflow can be completed within the web-based interface.

There are two main types of collaborative development models:

  1. In the fork and pull model, anyone can fork an existing repository and push changes to their personal fork. You do not need permission to the source repository to push to a user-owned fork. This model is popular with open source projects as it reduces the amount of friction for new contributors and allows people to work independently without upfront coordination.
  2. In the shared repository model, collaborators are granted push access to a single shared repository and topic branches are created when changes need to be made. This model is more prevalent with small teams and organizations collaborating on private projects.

Below we’ll cover:

Project Collaborators

You can invite users to become collaborators to your personal repository, which grants them read/write access to the project (shared repository model).

Issues and Pull requests

Issues and pull requests facilitate discussions on GitHub. Issues are useful for discussing specific details of a project such as bug reports and planned improvements. Pull requests allow you to comment directly on proposed changes.

Community Profile

GitHub has created a Community Profile checklist to help make sure your project meets the recommended community standards to help people use and contribute to your project. You can read more About community profiles for public repositories, Starting an Open Source Project and Building Welcoming Communities. You can also take the Community starter kit course in the GitHub Learning Lab to learn about the informal standards the community has adopted to make it easier to find and contribute to projects.

You can find the Community Profile checklist via the Insights tab and then select Community in the left sidebar. It checks to see if a project includes recommended community health files, such as

I have listed definitions and resources below to help you get started on these files:

Projects

Project boards on GitHub help you organize and prioritize your work. They are made up of issues, pull requests, and notes that are categorized as cards in columns of your choosing. You can create project boards for specific feature work, comprehensive roadmaps, or even release checklists. With project boards, you have the flexibility to create customized workflows that suit your needs.

Wikis

Every GitHub repository comes equipped with a section for hosting documentation, called a wiki. You can use your repository’s wiki to share long-form content about your project, such as how to use it, how you designed it, or its core principles. A README file quickly tells what your project can do, while you can use a wiki to provide additional documentation.


Previous: Using GitHub Demonstration

Next: More Resources