Automated Version Control


Figure 1

Comic: a PhD student sends "FINAL.doc" to their supervisor, but after several increasingly intense and frustrating rounds of comments and revisions they end up with a file named "FINAL_rev.22.comments49.corrections.10.#@$%WHYDIDCOMETOGRADSCHOOL????.doc"
“notFinal.doc” by Jorge Cham, https://www.phdcomics.com

Figure 2

Changes Are Saved Sequentially

Figure 3

Different Versions Can be Saved

Figure 4

Multiple Versions Can be Merged

Navigating Files and Directories


Figure 1

The file system is made up of a root directory that contains sub-directoriestitled bin, data, users, and tmp

Figure 2

Like other directories, home directories are sub-directories underneath"/Users" like "/Users/imhotep", "/Users/larry" or"/Users/nelle"

Figure 3

A directory tree below the Users directory where "/Users" contains thedirectories "backup" and "thing"; "/Users/backup" contains "original","pnas_final" and "pnas_sub"; "/Users/thing" contains "backup"; and"/Users/thing/backup" contains "2012-12-01", "2013-01-08" and"2013-01-27"

Figure 4

A directory tree below the Users directory where "/Users" contains thedirectories "backup" and "thing"; "/Users/backup" contains "original","pnas_final" and "pnas_sub"; "/Users/thing" contains "backup"; and"/Users/thing/backup" contains "2012-12-01", "2013-01-08" and"2013-01-27"

Figure 5

General syntax of a shell command

Working With Files and Directories


Figure 1

screenshot of nano text editor in action with the text It's not publish or perish any more, it's share and thrive

Setting Up Git


Creating a Repository


Tracking Changes


Figure 1

The Git Staging Area

Figure 2

The Git Commit Workflow

Exploring History


Figure 1

Git Checkout

Figure 2

https://figshare.com/articles/How_Git_works_a_cartoon/1328266

Ignoring Things


Remotes in GitHub


Figure 1

Creating a Repository on GitHub (Step 1)

Figure 2

Creating a Repository on GitHub (Step 2)

Figure 3

Creating a Repository on GitHub (Step 3)

Figure 4

The Local Repository with Git Staging Area

Figure 5

Freshly-Made GitHub Repository

Figure 6

Where to Find Repository URL on GitHub

Figure 7

Changing the Repository URL on GitHub

Figure 8

GitHub Repository After First Push

Hosting Websites on GitHub


Figure 1

Repository 'Settings' button in GitHub interface

Figure 2

Select 'Pages' tab in repository settings

Figure 3

Set default branch for the website in repository settings

Figure 4

URL where the project website will be published by GitHub Pages

Figure 5

Project website URL - indication of a successful build

Figure 6

Our first website rendered by GitHub and showing the contents of README

Figure 7

About section of a repository - edit repository details

Figure 8


Figure 9

Create index.md file

Figure 10

Add 'About' section to index.md file

Figure 11

Create another page in GitHub called 'about.md'

Figure 12

Rendered contents of the 'about.md' page

Collaborating


Figure 1

screenshot of repository page with Settings then Collaborators selected, showing how to add Collaborators in a GitHub repository

Figure 2

After Creating Clone of Repository

Conflicts


Figure 1

The Conflicting Changes