CyVerse logo

Home_Icon Learning Center Home

Git for Mere Mortals

Goal

This tutorial will teach the the basics of git using GitHub. You will learn how to create a repository and interact with the GitHub environment through an internet browser and desktop client. The tutorial will briefly introduce some advanced topics.

You can follow along with the rest of this tutorial on your own, or with the corresponding YouTube Video Link will be added once it’s live.


Prerequisites

Downloads, access, and services

In order to complete this tutorial you will need access to the following services/software

Platform(s)

We will use the following CyVerse platform(s):

No CyVerse platforms are needed for this tutorial.

Introduction to Git & GitHub

Definitions

Git - tool for version control.

GitHub - hosted server that is also interactive.

repo - short for repository; GitHub lets you create a remote repository online.

local - on your personal computer.

clone - copy of a repository that lives locally on your computer. Pushing changes will affect the repository online.

fetch - getting latest changes to the repository on your local computer.

branch - parallel to the master branch; allows you to make changes without affecting the master branch. Changes made on a branch can be merged back to the master.

fork - copy of someone else’s repository stored locally on your account. From forks, you can make pull requests to the master branch.

upstream - primary or master branch of original repository.

downstream - branch or fork of repository.

commit - finalize a change.

push - add changes back to the remote repository.

merge - takes changes from a branch or fork and applies them to the master.

pull request - proposed changes to/within a repository.

issue - suggestions or tasks needed for the repository. Allows you to track decisions, bugs with the repository, etc.

Introduction

We will learn how to:

  • create a repository
    • best practices
    • create an issue
    • push/pull files
    • commit to GitHub
  • interact with the GitHub environment
    • using the web interface
    • using GitHub Desktop
  • advanced GitHub
    • branching
    • forking
    • merging
    • versioning

GitHub makes it easy to keep track of changes and has a built in version control.

Background

GitHub Uses

  • Version control
  • Collaborative projects
  • Creating websites
  • Teaching tools
  • Software development
  • Code development

Note

Git is not really for storing or manipulating data, especially large files. But the CyVerse Discovery Environment is a great place to serve, store, and share data.


Fix or improve this documentation

Github Repo Link

Search for an answer: CyVerse Learning Center