Introduction to GitHub

This post explains how to set up a GitHub project.

What is GitHub?

GitHub is a repository service based on code control version system (CVS) Git.

GitHub has many things in common with Git, so it is important to be familiar with this CVS. You can read an introduction to Git on this post.

The service is provided by the company of the same name, that it is a subsidiary of Microsoft since 2018.

GitHub is a closed source implementation of Git.

First Steps on GitHub

If it is the first time you use GitHub, you may find useful the official introduction that can be followed on this external link.

For more advanced topics, you can find the official Getting Started section on this external link.

GitHub Licenses

As of 2023, GitHub has these licenses:

  • GitHub Free
  • GitHub Pro
  • GitHub Team
  • GitHub Enterprise

GitHub Free is free of charge, as the name implies. Open source projects would fall under this category. This license has some limitations compared to the others.

Core functions of GitHub are free since 2020.

GitHub Pro, GitHub Team and GitHub Enterprise are paid licenses.

You can find GitHub’s product catalog on this external link, and the FAQs on this external link.

GitHub Project File Structure

There is no a fixed way to organize files in a Git or GitHub project. All files could be place on the root folder, or specific folders could be created to organize files by category.

A typical GitHub project can be have the following folders:

  • src: source code files
  • dist: distribution files (e.g.: installers, executable files)
  • doc: documentation files
  • build: script files related to project build process
  • samples: basic examples for the project

You can find ideas on this external link.

Files included in a GitHub Project

These files can be contained in a GitHub project:

  • README
  • LICENSE
  • NOTICE

The file extension of the files may vary depending on the file format chosen. If it is a plain-text file, it will be LICENSE.txt. If uses Markdown, its extension will be .md. If it uses .rt, it will be a RealText Streaming Text file.

README

README is a text file that explains the project.

It may be called in many variants, like READ ME.

It is located in the root folder of a project.

GitHub calls it README.md, with the .md extension for Markdown files. Consequently, README.md should follow the Markdown syntax.

The content of the README file is first displayed under the file browser in GitHub.

LICENSE

LICENSE is a text file that contains the license terms that apply for the project.

It may also called COPYING.

It is recommended that your software always have a license, specially if your purpose is sharing it. You can find more info about types of software licenses on this post.

NOTICE

NOTICE is a text file.

Apache License 2.0 requires to include some notes on a file called NOTICE.

Integrating GitHub on IDEs

You can integrate your Integrated Development Environment (IDE) with GitHub projects.

Integrating GitHub on Visual Studio Code

You can follow the instructions to integrate GitHub on Visual Studio Code on this external link.

It explains how to install the GitHub Pull Requests and Issues extension, and configure it.

Integrating GitHub on PyCharm

You can find information about how to integrate GitHub on PyCharm on this external link.

You might be interested in…

One comment

Leave a Reply

Your email address will not be published. Required fields are marked *