Pagine

Thursday 22 June 2017

What is GitHub?

GitHub is the leading code-hosting platform with literally millions of open source projects having their code hosted on it. In conjunction with Git, it provides the means for a productive development workflow and is the preferred tool among developers.

Starting with the basics of creating a repository, you can learn how to manage the issue tracker, where your project can be discussed.
GitHub provides a set of features as of example:
  • Managing wiki pages: When you first create a new repository, a wiki attached to this project is also created. It is enabled by default and everyone can add new content or modify existing pages. Every time you add one or more new pages to the wiki. Similarly you can edit or remove a wiki page.
  • Managing code versioning: the notion of a release is tightly tied to Git tags. You can see the existing tags, if any, from the same menu where you change a branch. Your tag name can be any arbitrary value, but it is highly recommended to follow the semantic versioning scheme. Briefly describing what semantic versioning is, a release number consists of three numbers separated by dots in the form of MAJOR.MINOR.PATCH. You should then increment the following:
    • The MAJOR version when you make incompatible API changes.
    • The MINOR version when you add functionality in a backwards-compatible manner.
    • The PATCH version when you make backwards-compatible bug fixes.
  • Organization and team management: GitHub allows you to choose among three roles for a person in an organization: owners, members, and billing managers. Owners have full access to the organization and are in the highest level of the permissions chain. Being a member is usually the default role when a new person gets in the organization. The least a member can do is create a new team and add existing team members and repositories to it. A billing manager is a user who manages the billing settings for your organization, such as updating payment information. This is a great option if regular members of your organization don't typically have access to billing resources. You can create an Organization and you can optionally invite some people to be part of the organization.
  • Pull requests feature (that made GitHub so well known): GitHub UI helps you visualize clearer what is about to be merged in the default branch or the branch of your choice. Pull requests are reviewable with an enhanced diff view. You can easily revert them with a simple button on GitHub and they can be tested before merging, if a Continuous Integration service is enabled in the project.
  • GitHub Pages: At the end of the year 2008, GitHub announced GitHub Pages, a static-site hosting service. Static sites have met a great rise during the past years and GitHub played a big part in it. A static site is a site that contains pages written in HTML, CSS, and Javascript. No server code, such as php, ruby, and Python is included.
  • User and Repository management: As a user, there is a lot of information you can set up in your user settings page, such as associating more than one e-mail to your account, adding multiple SSH keys, or setting up two-factor authentication. Similarly, some functionalities of a repository can be set up via its settings page. For example, you can enable or disable the wiki pages, or completely disable the issue tracker. About the repository management, there are quite a few settings one can fiddle with at the repository level. To access these settings, search for the wrench icon on the right sidebar.

No comments:

Post a Comment