Cartoon showing paths between local and remote git repositories. White bunnies push packages around representing git-tracked file changes. One bunny moves packages into a staging area (git add), which are then moved to the local branch with git commit, which are then pushed to the remote branch with git push. A bunny in the remote branch yells to the remote main "got some new stuff! Should we bring it over?" (with text Pull Request above the speech bubble) while a bunny in the remote main branch says "everything looks good, bring it on over!" A bunny pulls a cart from the remote branch to remote main, with text "merge" next to it.

A basic git workflow represented as two islands, one with "local repo" and "working directory", and another with "remote repo." Bunnies move file boxes from the working directory to the staging area, then with Commit move them to the local repo. Bunnies in rowboats move changes from the local repo to the remote repo (labeled "PUSH") and from the remote repo to the working directory (labeled "PULL").

Illustration highlighting the difference between git fetch and git pull. On the left (representing git fetch), a crocodile holding a box says to another crocodile eating salad: "They had a new topping mix at the store. Check it out, it might be good in your salad." On the right (representing git pull), a crocodile says "They had a new topping mix at the store. I bought some and mixed it into your salad" while a concerned looking crocodile looks at their salad, which now contains the topping mix of insects. Text at the bottom reads "Check what you're getting before merging it in with git fetch."

Cartoon of the GitHub octocat mascot hugging a very sad looking little furry monster while the monster points accusingly at an open laptop with "MERGE CONFLICT" in red across the entire screen. The laptop has angry eyes and claws and a wicked smile. In text across the top reads "gitHUG" with a small heart.

Illustrated series by Lowndes & Horst

Please cite the following illustrations with: Illustrations from the Openscapes blog GitHub for supporting, contributing, and failing safely by Allison Horst and Julia Lowndes.

A row of 6 cute smiling monsters celebrating using GitHub. The first, wearing a climbing harness labeled “Me” is high-fiving another whose harness says “Future Me”. Others hold a box of snacks that are tacos, a map, and a rope. Text above the monsters quotes Jenny Bryan: “Collaboration is the most compelling reason to manage a project with Git and GitHub. My definition of collaboration includes hands-on participation by multiple people, including your past and future self, as well as an asymmetric model, in which some people are active makers and others only read or review.”

Left panel, against a blue sky with white clouds, a confident-looking monster climbs a rock face. Their rope’s anchors, secured with carabiners, are labeled from bottom to top and say “Initial commit”, “Data Cleaned”, “Analysis completed”. Another anchor on their harness, ready to place, is labeled “Manuscript drafted”. Right panel, against a gray sky with rain and lightning, a stressed-looking monster climbs a rock face. Their rope has a knot, is frayed, and is looped around one foot. Their anchors, placed haphazardly and not well-secured, are labeled things like “analysis_final_v2.xls”, “analysis_final_final.xls”, and “ignore_this.xls”. Text above the left panel says “When working with GitHub we can navigate with more obvious, safe, streamlined routes that let us focus on the science-y things we want to do…” Text above the right panel says: “...but working without GitHub can be disorienting, with too much time spent sifting through past work to figure out next steps forward.”

On the left is a quote from Hadley Wickham and Jenny Bryan that says “Using a Git commit is like using anchors and other protection when climbing…if you make a mistake you can’t fall past the previous commit. Commits are also helpful to others, because they show your journey, not just the destination.” On the right, two little monsters climb a cliff face. Their ropes are secured by several anchors, each labeled “Commit”. Three monsters on the ground support the climbers.

A close-up rear view of a monster climbing a rock face, clicking into an anchor point, with the word “Click!”

A confidently smiling monster is falling from a rock overhang, while secured by four anchors, each labeled “Commit”.

Four little monsters on grass support another monster starting their climb up a rock face. The climber’s harness is labeled “Coder”, the belayer wears a harness labeled “Code review”, two others consulting a book and route map wear caps labeled “Documentation” and “Reuse”, and another brings a box labeled “Project management and snacks”.

Rear-view of three well-prepared monsters arriving at a climb. They have route maps, binoculars, ropes, backpacks, and a box of snacks. The middle monster has a GitHub Octocat image on their backpack. In the distance, several monsters are at different stages of ascending, with one at the summit, and others supporting them from the base.

Two monsters consult a book with routes labeled “Existing routes” and “Our route” with warning information - images of lightning, a snake, and rocks falling - and notes on the facing page, while looking at the rock face they plan to climb. In the distance, one monster belays another who is climbing.

Partial rear view of a monster with image focusing on their safety harness with a GitHub Octocat logo, chalk bag, carabiners, and rope.

Back to Top