└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Open Resources for Learning and Using Git & Github 2 | 3 | A list of openly available and free resources for learning and using git & Github. 4 | 5 | ## Table of Contents 6 | 7 | - [Overview](#overview) 8 | - [Tutorials](#tutorials) 9 | - [Tips & Tricks](#tips-and-tricks) 10 | - [Exercises](#exercises) 11 | - [Other Lists](#other-lists) 12 | 13 | ## Overview 14 | 15 | Using version control is an important skill for any software-driven work. 16 | One of the most common approaches for version control is to use git & Github. 17 | Here, we collect open tutorials and resources for learning git & Github. 18 | 19 | As a very brief overview / cheat-sheet: 20 | - version control: is a _system_ for managing files, keeping track of changes and different versions 21 | - git: is an open-source _tool_ for doing version control 22 | - github: is a _place_ (basically, a database), that uses git. Github is a privately owned service 23 | 24 | ## Tutorials 25 | 26 | The following are resources that provide tutorials for learning git and/or Github: 27 | 28 | - This [presentation](https://speakerdeck.com/alicebartlett/git-for-humans?slide=1) by Alice Bartlett gives a clear conceptual overview and introduces key terminology for git 29 | - This [simple guide](https://rogerdudler.github.io/git-guide/) by Roger Dudler provides a brief and simple overview of git 30 | - This [primer](https://voyteklab.com/git/git-primer/) by Bradley Voytek gives a general description of what git is and how it works 31 | - The [git website](https://git-scm.com) has full documentation, including a [book on git](https://git-scm.com/book/) 32 | - Github themselves have lots of documentation, including a [git handbook](https://guides.github.com/introduction/git-handbook/) that introduces the main concepts for version control, and a [hello world](https://guides.github.com/activities/hello-world/) page, to get started using Github 33 | - The [try git](https://try.github.io) page includes a collection of resources for learning and using git & Github 34 | - Atlassian have a [series of tutorials](https://www.atlassian.com/git/tutorials) for learning how to use git 35 | - This [journal article](https://dx.doi.org/10.1371/journal.pcbi.1004668) provides a quick introduction to using git & Github for scientists 36 | - Software Carpentry have a [introductory tutorial](http://swcarpentry.github.io/git-novice/) for getting started with git 37 | - This [tutorial video](https://www.youtube.com/watch?v=6OkOmPqumWo) steps through a hands-on tutorial for using Github for researchers 38 | - The [PSModels git tutorial](https://pslmodels.github.io/Git-Tutorial/) is a comprehensive online textbook introducing git & Github 39 | 40 | ## Tips and Tricks 41 | 42 | Useful tips, tricks, and cheat-sheets for git include: 43 | 44 | - [Git cheat sheet](https://education.github.com/git-cheat-sheet-education.pdf), from Github 45 | - [Git Tips](https://github.com/git-tips/tips), from Github 46 | - [Git cheat sheet](https://neuroplausible.com/github), from Olivia Guest 47 | - [Git Flight Rules](https://github.com/k88hudson/git-flight-rules), or how to do specific tasks, and how to fix things 48 | - A [list of special files](https://github.com/kmindi/special-files-in-repository-root) available and used on Github 49 | 50 | ## Exercises 51 | 52 | Dedicated exercises for learning and practicing git: 53 | 54 | - [Learn git branching](https://learngitbranching.js.org/) is an online, interactive tutorial with demonstrations and exercises 55 | - A [set of exercises](https://github.com/eficode-academy/git-katas) for deliberate git pratice 56 | - [Git Gud](https://github.com/benthayer/git-gud), a command line game to help learn and practice Git 57 | 58 | ## Other Lists 59 | 60 | There are other collections of git & github related links, including: 61 | - the [awesome github](https://github.com/phillipadsmith/awesome-github) collection 62 | - the [git is hard](https://github.com/Nezteb/Git_Is_Hard) collection 63 | --------------------------------------------------------------------------------