Last updated on

GitHub is a repository hosting service. GitHub will host your project in a variety of programming languages, while keeping track of changes you make to it. This is made possible using git, a revision control system that runs in the command line interface.

What is Git?

Git is an actively maintained open source Distributed Version Control System (DCVS) project that was originally developed in 2005 by Linus Torvalds, the original creator of the Linux operating system kernel. In this context, Distributed means that rather the full history only live in one place, every developer’s working copy also contains that version history as well, as opposed to only the source copy having it available in other types of version control systems such as SVN. It works on a variety of Operating Systems and Integrated Development Environments, and is the most popular form of version control being used currently.

Why use GitHub?

There are 4 crucial reasons to use GitHub for your next project, WordPress or otherwise.

Code Review

Your project can hugely benefit from other users evaluating, testing and implementing your code. This type of social experience can help with dependency issues, conflicts and much more. You can also discuss code syntax and structure in detail before merging a proposed change. On GitHub, there are code review processes built into every pull request, and you even have the option of tagging someone in a review request to notify them that you wish to receive feedback.

Collaboration

GitHub tracks changes in your code with a changelog, so you can always look back to see what was changed across versions. This allows for more people to work on a project simultaneously using branches and forks of the original project.

Project Management

You can manage your project with task boards that live right with your code. Creating an organization will allow you to add your teammates to it, where you can reference every issue and pull request with a card, as well as use mentions to assign work. You can also use notes to track ideas without interrupting your workflow.

Integration

There are hundreds of apps that work right alongside of GitHub that range from automated testing, project management, feedback forums and everything else in between. They offer an API capable of integration with any type of system you may be using, and the flexibility is endless.

Vocabulary

There are a few core terms and commands that you will need to know when using Git and GitHub. We have listed the most common terms here, however you should also view the Official Glossary for GitHub if you run into any terms or commands that are not familiar to you.

https://www.kernel.org/pub/software/scm/git/docs/gitglossary.html

Branch

  • A branch is a parallel version of a repository. It is contained within the repository itself, but changes to it do not affect the master branch. This will allow you to work on it without affecting the default branch. Once you have made the changes you want, you can merge your branch back into master to publish your changes.

Clone

  • A clone is a copy of a repository, or the act of making that copy, that lives somewhere other than GitHub. With a clone you can edit the files in your editor locally, and use Git to keep track of the changes you make without having to be online. A clone is also connected to the remote version on GitHub, so that changes can be synced between the two.

Commit

  • A commit is an individual change to a file (or set of files). It is also known as a revision. When you make a commit, it creates a unique ID (a.k.a. the “SHA” or “hash”) that allows you to keep a record of what changes were made when and by who. Commits usually contain a commit message which is a brief description of what changes were made.

Contributor

  • A contributor is someone who has made a change to the repository via a pull request, but has not been given collaborator access to it.

Collaborator

  • A collaborator is a person with read and write access to a repository, that is invited by the repository owner on GitHub to contribute to the project.

Diff

  • A diff is the difference in changes between two commits. It will visually describe what was added or removed from a file since its last commit.

Fetch

  • Fetching refers to getting the latest changes from an online repository without merging them in to your files. Once these changes are fetched, you can compare them to your local branches to see what is different between them.

Fork

  • A fork is a copy of another user’s repository that resides on your account. Because they have this separation, forks allow you to make changes to a project without affecting the original. A fork will remain attached to the original, allowing you to submit a pull request to the original’s author to update it with your changes. You can pull in updates from the original to keep your forked copy up to date with the original as well.

Git

  • Git is an open source program used for tracking changes in text files.

Issue

  • Issues can be suggested improvements, tasks or questions that are referencing a repository. While issues are only moderated by repository collaborators, anyone can create an issue on a public repository. Each issue contains its own discussion forum, and can be labeled, or assigned to specific collaborators.

Markdown

  • Markdown makes it easy to display documents as a website without knowing HTML. It supports many common elements, such as links, lists, or bullets, and is supported by GitHub.

Merge

  • Merging is the process in which you are taking changes from one branch and applying them to another.. A merge can be done automatically via a pull request when using the GitHub web interface, or can always be done via the command line manually as well.

Organization

  • An Organization within GitHub allows for management and administration of a team of users added to the Organization.

Pull

  • In Git, a pull refers to you pulling in file changes and merging them to your local repository.

Pull Request

  • Pull requests are proposed changes to a repository submitted by a user. Like issues, pull requests have their own discussion forum to allow for commenting on the changes being proposed.

Push

  • In Git, a push refers to you sending your committed changes to a remote repository that is hosted on GitHub.

Remote

  • This is the version of the repository that is hosted on GitHub. It can be connected to your local copy, to allow you to push changes to it.

Repository

  • A repository is the most basic element of GitHub. It is basically the folder where your project lives on the GitHub server.

Team

  • Teams are groups of organization members that reflect your company or group’s structure with cascading access permissions and mentions.

Getting Started

We have a series of how to guides aimed at getting you started using GitHub. We recommend that you use them to become acclimated with a GitHub workflow, as it will allow your BoldGrid Theme development to become more efficient.

Beginner Tutorials

How to Create a Repository
How to Create a Branch
How to Commit your first change
How to Create a Pull Request and Merge

Intermediate Tutorials

How to Clone a Repository
How to Fork a Repository
How to Checkout a Branch
How to set up your SSH Key with GitHub

 

SIGNUP FOR

BOLDGRID CENTRAL  

   200+ Design Templates + 1 Kick-ass SuperTheme
   6 WordPress Plugins + 2 Essential Services

Everything you need to build and manage WordPress websites in one Central place.

Leave a Reply

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