Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
108 lines (79 sloc) 2.98 KB
---
title: "This Thing Called Github"
author: "Miles McBain"
date: "April 12, 2017"
output:
ioslides_presentation:
css: ./style.css
---
# This thing called Github
## Our Priors
* Who among us:
- Is using Github?
- Feels like they should be using Github?
- Sees no reason why they would use Github?
## Should you care?
![](./twitter_poll.png)
## Why you should care about Git/GitHub
* Calling Git/Github a Distributed Version Control System is like calling Facebook a place where people post photos.
* THERE'S SO MUCH MORE TO IT
* Github is:
- A project collaboration platform
- A social network
- A disaster recovery system
- A synchronisation service
- A platform for disseminating your work. Reproducible Research Anyone?
- A place to showcase your actual skills (>> Linked-In)
- A blog hosting service
- A system for controlling your code versions.
- A place for orhpaned code snippets.
## Basic building blocks of a GitHub project
* 'Repositories' - Repos
* 'Issues'
* 'Files'
* 'Commits'
* 'Pushes'
* 'Forks'
* 'Branches'
* 'Pull-Requests' - PRs
## How to learn all this crap
* Don't try. Get acquainted with the platform slowly:
* Level 0:
- Use GitHub to manage your own solo projects. Not necessarily software. [This talk has a repo](https://github.com/MilesMcBain/burgr_20170913_github).
- Get acquainted with commiting, pushing and pulling.
- Use a git client like [GitKraken](https://www.gitkraken.com/).
- Raise issues on repos for software you use:
- Feature requests
- Bug reports with a [reprex](http://www.njtierney.com/post/2017/01/11/magic-reprex/)
* **DEMOS** Add a gif to this presentation.
## How to learn all this crap #2
* Next level:
- Fork someone else's repo, add code or documentation, make a pull request
- [My First PR](http://firstpr.me)
- Collaborate with someone else on a shared project.
- Merge your commits and resolve conflicts.
## Oh Shit Git
* [Help is not far away](http://ohshitgit.com/).
* [Gitflow](https://guides.github.com/introduction/flow/)
## My Github workflow
The easy way:
* Create the Repo on GH as first thing.
* Initialise with README - YES
* Clone it to `~/repos`
* Data goes somewhere else `~/data`
- Like [Googledrive](https://github.com/tidyverse/googledrive)
* Commit/Push early Commit/Push often.
* Sync across all your workstations.
* LIVE LIFE WORRY FREE!
## I HEART Gists
A home for your orphaned code snippets!
Related:
* [Gistr](https://github.com/ropensci/gistr)
* [Gistfo](https://github.com/MilesMcBain/gistfo)
* [Codefinch](https://github.com/ropenscilabs/codefinch)
* [bl.ocks](https://bl.ocks.org/)
## Reading
[Jenny Bryan](https://twitter.com/JennyBryan):
* [Excuse me, do you have a moment to talk about version control](https://peerj.com/preprints/3159v2/)
* [Happy Git and GitHub for the useR](http://happygitwithr.com/)
# Github Q&A