Basic Git/GitHub Skills in the Terminal
Create a GitHub account
For access to the NMFS Openscapes JupyterHub, you will need at GitHub account. See the main HackHour page on how to request access (NOAA staff). For NMFS staff, you can look at the NMFS OpenSci GitHub Guide information for how to create your user account and you will find lots of information on the NMFS GitHub Governance Team Training Page (visible only to NOAA staff).
Setting up Git Authentication
Before we can work with Git in the JupyterHub, your need to do some set up. Do the steps here: Git Authentication
Git in the terminal
You will need to open a terminal in JupyterLab or RStudio.
The Key Skills
Skill 1: Create a blank repo on GitHub
Skill 2: Clone your GitHub repo
Skill 3: Make some changes and commit those local changes
Skill 4: Push the changes to GitHub
Skill 1b: Copy someone else’s GitHub repository
Let’s see it done!
Skill 1: Create a blank repo on GitHub
This skill is done on GitHub.com.
- Click the + in the upper left from YOUR GitHub page.
- Give your repo the name
Test
and make sure it is public. - Click new and check checkbox to add the Readme file and
.gitignore
- Copy the URL of your new repo. It’s in the browser where you normally see a URL.
Skill 2: Clone your repo
These skills are done in a terminal from JupyterLab or RStudio.
- Copy the URL of your repo.
https://www.github.com/yourname/Test
- Open a terminal.
- Make sure you are at the home directory level. Type this:
cd ~
- Clone the repo with this command. Replace
yourname
with your username.git clone https://www.github.com/yourname/Test
Skill 3: Make some changes and commit your changes
Do step 1 in your editor, JupyterLab or RStudio.
- Make some changes to the README.md file in the Test repo.
- Go to the terminal and make sure you are in your Test repo.
cd ~/Test
- See what has changed. You should see that README.md has changed.
git status
- Stage the change to the README.md
git add README.md
- Commit the change. `git commit -m “small change”
Skill 4: Push changes to GitHub / Pull changes from GitHub
To push changes you committed in Skill #3
- From the terminal, type
git push
To pull changes on GitHub that are not on your local computer:
- Make some changes directly on GitHub.com and commit
- From the terminal, type
git pull
Activity 1
Do steps 1 to 3 in your editor, JupyterLab or RStudio, and steps 4 and 5 in the terminal on the JupyterHub.
- Make a copy of README.md
- Rename it to
.md - Add some text.
- Stage and commit the added file.
- Push to GitHub.
Activity 2
Do steps 1-3 on GitHub and step 4 from the terminal on the JupyterHub.
- Go to your Test repo on GitHub.
https://www.github.com/yourname/Test
- Create a file called
test.md
. - Stage and then commit that new file.
- Pull in that new file.
Activity 3
You can copy your own or other people’s repos1.
- In a browser, go to the GitHub repository https://github.com/RWorkflow-Workshops/Week5
- Copy its URL.
- Navigate to your GitHub page: click your icon in the upper right and then ‘your repositories’
- Click the
+
in top right and clickimport repository
. Paste in the URL and give your repo a name. - Use Skill #1 to clone your new repo to the JupyterHub.
Clean up after you are done
Open a Terminal
Type
cd ~ rm -rf Test rm -rf Week5
Footnotes
This is different from forking. There is no connection to the original repository.↩︎