Permalink
Cannot retrieve contributors at this time
--- | |
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? | |
 | |
## 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 |