Using GitHub for scientific research Jon W. Carr Language Evolution - - PowerPoint PPT Presentation

using github for scientific research
SMART_READER_LITE
LIVE PREVIEW

Using GitHub for scientific research Jon W. Carr Language Evolution - - PowerPoint PPT Presentation

Using GitHub for scientific research Jon W. Carr Language Evolution and Computation Research Unit School of Philosophy, Psychology and Language Sciences University of Edinburgh Three good reasons to use GitHub Version control Share and


slide-1
SLIDE 1

Jon W. Carr Language Evolution and Computation Research Unit School of Philosophy, Psychology and Language Sciences University of Edinburgh

Using GitHub for scientific research

slide-2
SLIDE 2

Version control Share and collaborate Publish your work

Three good reasons to use GitHub

slide-3
SLIDE 3

collaborator

clone

github pages

commit

repository

merge

branch

pull request

master

.gitignore git

SHA hash

sync

command line tools

issues

blame

history

atom

public

private

markdown

wiki

gist

fork

release

slide-4
SLIDE 4

Background Specifics Demonstration Collaborative project

Today’s workshop

Quiz

slide-5
SLIDE 5
slide-6
SLIDE 6

GitHub Education

Free micro account for students Host 5 private repositories Usually $7 per month

slide-7
SLIDE 7

Big picture

slide-8
SLIDE 8

Repository

Key terms

Branch Fork Commit Pull request

slide-9
SLIDE 9

Repository

slide-10
SLIDE 10

Commit

1 def Hello(name):
 2 greeting = "Hello " + name
 3 print greeting

slide-11
SLIDE 11

Commit

1 def Hello(name):
 2 greeting = "Hello " + name
 3 print greeting 4 5 def Bye(name): 6 valediction = "Bye bye " + name 7 print valediction

slide-12
SLIDE 12

def Raise(x, y):
 z = x ** y return z def Square(x):
 y = Raise(x, 2) return y def Cube(x):
 y = Raise(x, 3) return y

Revert a commit

slide-13
SLIDE 13

def Raise(x, y):
 z = x ** y return z def Square(x):
 y = Raise(x, 2) return y def Cube(x):
 y = Raise(x, 3) return y def Square(x):
 y = Raise(x, 2) return y

Revert a commit

slide-14
SLIDE 14

def Raise(x, y):
 z = x ** y return z def Square(x):
 y = Raise(x, 2) return y def Cube(x):
 y = Raise(x, 3) return y

Roll back to a previous commit

slide-15
SLIDE 15

def Raise(x, y):
 z = x ** y return z def Square(x):
 y = Raise(x, 2) return y

Roll back to a previous commit

slide-16
SLIDE 16

Repo Branch 1 Branch 2 Branch 3

Branch

slide-17
SLIDE 17

GitHub Main public repo Public forks

Fork

slide-18
SLIDE 18

Pull request

Pull request

slide-19
SLIDE 19

GitHub Atom

Two handy apps

slide-20
SLIDE 20

GitHub

slide-21
SLIDE 21

Atom

slide-22
SLIDE 22

.gitignore

slide-23
SLIDE 23

(GitHub Flavored) Markdown

slide-24
SLIDE 24

Other GitHub features

Issues: Bug reporting and feature requests Wiki: Document the project Pages: Free webpage for your project Gist: A mini repo for snippets of text

slide-25
SLIDE 25

Demo…

slide-26
SLIDE 26

Collaborative project

Aim: Build a simple Mantel Test module in Python Three teams will each implement part of the code Then we’ll test our code at the end

Team 1

ReadFile()

Team 2

PairwiseDistances()

Team 3

MonteCarlo()

slide-27
SLIDE 27

Quiz

  • 1. What’s the name of the GitHub mascot?
  • 2. What’s the difference between a fork and a branch?
  • 3. What’s a pull request?
  • 4. Can you delete a previous commit?
  • 5. What would you use a .gitignore file for?
  • 6. What could you use GitHub Issues for?
slide-28
SLIDE 28

Homework

Merge the functions created by the other two teams into your fork of the repository Test out the final code for yourself! (if you’re keen)