Checking for non-preferred file/folder path names (may take a long time depending on the number of files/folders) ...

[Training] Summer Institute 2026 - GitHub Training


Authors:
Owners: This resource does not have an owner who is an active HydroShare user. Contact CUAHSI (help@cuahsi.org) for information on this resource.
Type: Resource
Storage: The size of this resource is 1.8 MB
Created: Jun 10, 2026 at 12:04 a.m. (UTC)
Last updated: Jun 11, 2026 at 7:44 p.m. (UTC)
Citation: See how to cite this resource
Sharing Status: Public
Views: 104
Downloads: 0
+1 Votes: Be the first one to 
 this.
Comments: No comments (yet)

Abstract

Description:
This is a resource that is a reference for a training repository for introducing basic git collaboration workflows for the 2026 Summer Institute Bootcamp.
https://github.com/NWC-CUAHSI-Summer-Institute/SI_fellows_2026_introductions

Welcome to the National Water Center Innovators Program Summer Institute GitHub training repository! 🙌
This repository is designed to help participants of the Summer Institute get comfortable with using GitHub, a tool for collaborative software development and data science.

Training Objective:
The goal of this training is to familiarize you with the basics of GitHub. You will learn how to clone a repository, make edits, and commit changes. This exercise is intended to prepare you for contributing to collaborative projects during the Summer Institute, ensuring that all code and findings are public and reproducible.

Subject Keywords

Content

README.md

Summer Institute 2026 - GitHub Training

Description

This is a training repository for introducing basic git collaboration workflows.

Welcome to the National Water Center Innovators Program Summer Institute GitHub training repository! 🙌
This repository is designed to help participants of the Summer Institute get comfortable with using GitHub, a tool for collaborative software development and data science.

Training Objective

The goal of this training is to familiarize you with the basics of GitHub. You will learn how to clone a repository, make edits, and commit changes. This exercise is intended to prepare you for contributing to collaborative projects during the Summer Institute, ensuring that all code and findings are public and reproducible.

GitHub Training Workflow

0. Prerequisites

  • You probably already have a GitHub account, but in case you don’t, you can sign up here.

  • We will be using the CIROH 2i2c cloud compute platform during the Summer Institute bootcamp. You can access that platform here: https://ciroh.awi.2i2c.cloud/. Log in using your GitHub username.

đź’ˇ If you do not have a 2i2c account:

  1. Visit the CIROH Hub Infrastructure Access website.
  2. Click on "Cloud Infrastructure Request Form” under “CIROH-2i2c JupyterHub”.

1. Log into CIROH AWI 2i2c JupyterHub

For the Summer Institute bootcamp, we’ll use the 2i2c AWI JupyterHub cloud computing platform hosted by The Alabama Water Institute. The administrators have already set this up for you, so should already have access to this platform.

1a. Go to https://ciroh.awi.2i2c.cloud/hub/login and log in with your GitHub username.

1b. Choose Server Option – Medium machine with image: Devcon26-CUAHSI Hydroinformatics and click the Start button at the bottom of the page. It might take a minute or two to start up. When it starts, it will open up a bash terminal on the right, and a file explorer on the left.

đź’ˇ Quick Trick in JupyterLab

Click on "View" and toggle on "Show hidden files".
We will edit the .gitconfig and .ssh file programmatically later on and you can view those changes manually if you like.

2. Generating an SSH Key for Interacting with GitHub

The first thing we need to do is to set up our SSH Key to make changes to our remote GitHub Repo.

2a. Open a Terminal Window:

Once you launch the 2i2c JupyterHub, if a terminal windown isn't already open, open the Launcher by clicking the blue rectangle with a "+" sign. There you can select Terminal. The following commands should be entered into this terminal.

2b. Configure Git:

First, tell Git who you are. Replace the examples below with your own information.
âť— The email used should be the one associated with GitHub

git config --global user.name "Your Name" git config --global user.email "your_email@example.com"

Verify your settings:

git config --global --list

You should see something similar to:

user.name=Your Name
user.email=your_email@example.com

2c. Create an SSH Key

SSH keys allow GitHub to recognize your JupyterHub environment securely. To generate a new SSH key, run the following in the Terminal:

ssh-keygen -t ed25519 -C "your_email@example.com"

When prompted to "Enter file in which to save the key", press Enter to accept the default location, which in the JupyterHub is /home/jovyan/.ssh/id_ed25519

When prompted to "Enter passphrase (empty for no passphrase)":

  • Press Enter to leave it blank (this is fine for this workshop), OR
  • Create a passphrase for additional security

You should see output similar to:

``` Your identification has been saved in /home/jovyan/.ssh/id_ed25519

Your public key has been saved in /home/jovyan/.ssh/id_ed25519.pub ```

3. Create a new SSH Authentication Key on Github

3a. Copy your SSH key from 2i2c JupyterHub:

Before heading over to https://www.github.com, you'll need to copy your SSH key. Print your public key by running:

cat /home/jovyan/.ssh/id_ed25519.pub

The output will look something like:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... your_email@example.com

Copy the entire line to your clipboard, making sure to copy everything beginning with ssh-ed25519 and ending with your email address.

3b. Add the SSH Key to Github:

Open GitHub on your web browser and do the following:

  • sign in to GitHub
  • click your profile picture (upper right)
  • select Settings
  • in the left sidebar, select SSH and GPG keys (left side menu)
  • click New SSH key button

This will take you to the Add new SSH Key form: SSH Key Form

In the SSH Key form, edit the:

  • Title - fill in a descriptive title (e.g., "CIROH JupyterHub")
  • Key Type - leave the key type as "Authentication Key"
  • Key - Paste your SSH key you copied from the 2i2c terminal.

Click the Add SSH Key button and you're set! GitHub may ask you to confirm your password or complete two-factor authentication.

4. Clone the Repository

4a. Copy the SSH Repo Link

Go to the GitHub site for our repository: NWC-CUAHSI-Summer-Institute/SI_fellows_2026_introductions, and click on the green button and copy the SSH address.
âť— Because you set up an SSH key on 2i2c, you must use the repository's SSH URL instead of the HTTPS URL to successfully clone!

Copy Repo SSH

4b. In Jupyter environment, type:

git clone git@github.com:NWC-CUAHSI-Summer-Institute/SI_fellows_2026_introductions.git

Change directories into the SI_fellows_2026_introductions directory:

cd SI_fellows_2026_introductions

5. Make a New Branch For Your Repository Contributions

đź’ˇ FYI - Understand the difference between forks and branches: Fork vs Branch.

Create a new branch:

git branch [your_branch_name]

Checkout your branch (move from the main branch to your_branch_name branch)

git checkout [your_branch_name]

List all of the branches, for fun (and to see that your new branch is not a remote branch):

git branch -a

Set the upstream and push your local branch to remote (you only need to do this one time):

git push --set-upstream origin [your_branch_name]

đź’ˇ Note: As of now, your branch only exists locally (on your computer or in your personal 2i2c JupyterHub workspace).

  • --set-upstream flag links a local branch to a remote branch so you can run git push and git pull without specifying the remote name or branch tracking targets every time.
  • origin is just the default name Git gives to the URL of the remote repository you cloned.

The Arctic Data Center provides a great resource on collaborating with Git and information about remote repositories.

6. Make a New Text File and Add Your Information to it

Copy the introductions.txt file in Jupyter Lab:

``` cd SI_fellow_profiles

cp introductions.txt ```

Open the new file, add a few notes about yourself, and save the file.

7. Commit Your Changes

Before we make a commit, let's check out what the status of our repository is:

git status

đź’ˇ Note: You'll likely see that the file you just created is red! This means the file is untracked (or unstaged), which means you have created the file in your working directory, but Git is not actively monitoring its changes.

Stage and commit your changes:

``` git add

git status #your file should show up as green now!

git commit -m "Added my profile file" ```

8. Push Your Changes

Push your branch to the remote repository:

git push

đź’ˇ Note: because we already linked your local repository to the remote repository (--set-upstream), you can just run git push and it will push to the remote.

9. Create a Pull Request

A Pull Request (a.k.a "a PR") is a propsal to merge your code changes into an existing project and is a foundational GitHub collaboration feature. Here, we will create a pull request to merge your code from your branch into the main branch.

Go to the GitHub repository website.

Click the “Compare & pull request” button.

Fill in the pull request title and description with specific details and submit.

By following these steps, you’ll contribute your changes to the repository and learn the basics of GitHub workflows.

Related Resources

This resource belongs to the following collections:
Title Owners Sharing Status My Permission
Collection of Materials for the CUAHSI's Workshops at the National Water Center Bootcamp 2026 Irene Garousi-Nejad · Anthony Castronova · Abner Bogan · Danielle Tijerina-Kreuzer  Public &  Shareable Open Access

How to Cite

Tijerina-Kreuzer, D., A. Bogan (2026). [Training] Summer Institute 2026 - GitHub Training, HydroShare, http://www.hydroshare.org/resource/ce7cb216301c4f0ca03b6408f061ecd8

This resource is shared under the Creative Commons Attribution CC BY.

http://creativecommons.org/licenses/by/4.0/
CC-BY

Comments

There are currently no comments

New Comment

required