Top Banner
Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016
100

Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro ([email protected])

May 20, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Working with Teams:Git and Github

Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi

3/21/2016

Page 2: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Dr. Rebecca Bilbro ([email protected])Data Scientist, Commerce Data Service

Board Member, Data Community DCFaculty, Georgetown School of Continuing Studies

and District Data Labs

Pri Oberoi ([email protected])Data Scientist, Commerce Data Service

Chair of Mentors, Women in Bio

Sasan Bahadaran ([email protected])Data Engineer, Commerce Data ServiceResearch Lab Coordinator, District Data Labs

Page 3: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

● A data education initiative of the Commerce Data Service.● Launched by CDS to offer data science, data engineering, and

web development training to employees of the US Department of Commerce.

● Course schedule and materials (e.g. slides, code, papers) produced for the Commerce Data Academy on Github.

● Questions? Feel free to write us at Data Academy ([email protected]).

Commerce Data Academy

Page 4: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Our goals for the class● Explain and make the case for version control.● Collaboration in coding/software engineering.● Illustrate what Git software is and what it can do.● Differentiate Git (the software) and Github (the website).● Describe how we integrate Git and Github into our project

workflows.

Goals

Page 5: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Your goals for the class● Understand what version control is and why should you use it

for your projects.● Start using Git on the command line.● Experiment with pushing repos to Github.● Practice working with a team using Waffle.io.

Goals

Page 6: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

1. Create your own Github account

2. Create your own Waffle.io account

3. Download/install Git

4. Download/install Anaconda's Python distribution

5. Verify your access to Terminal (Mac) or Powershell (Windows)

Any challenges? Questions?

Prerequisites

Page 7: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

● We use open source and free software, so they should have a minimal impact on your IT department!

● DOC has provided guidance that states that states that Github and all the tools that we are teaching are permissible under policy.

● However, it is up to the CIO of each bureau to accept this guidance policy or not.

● DOC has a formalized Github policy: https://github.com/CommerceGov/Policies-and-Guidance/blob/master/GithubGuidanceforDepartmentofCommerce.md

Open Sources Installations

Page 8: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Review

Page 9: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

What is data science?

Page 10: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

“Data science is the practice of transforming raw data into insights, products,

and applications to empower data-driven decision making. It combines

proven, time-tested methods from fields including statistics, natural sciences,

computer science, operations research, and design in ways that are

particularly well-suited to the data age. These methods, which range from

data mining and visualization to predictive modeling, can scale from small to

large datasets and can handle structured data as well as unstructured data

like text and images.”

Jeff Chen, Chief Data ScientistU.S. Department of Commerce

Page 11: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

How is data science different from data analytics?

Page 12: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

What is hypothesis-driven development?

Page 13: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)
Page 14: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

What tools do data scientists use?

Page 15: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

What is the data science pipeline?

Page 16: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Data Ingestion Data Munging and Wrangling

Computation and Analyses

Modeling and Application

Reporting and Visualization

Page 17: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

What is a data product?

Page 18: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

How are data products different from analytical insights?

Page 19: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Data products are self-adapting, broadly applicable economic engines that derive their value from data and generate more data by influencing human behavior or by making inferences or predictions upon new data.

Benjamin Bengfort

Page 20: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

What is software engineering?

Page 21: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

What does collaboration look like in a data group?

Page 22: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)
Page 23: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)
Page 24: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)
Page 25: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Version Control

Page 26: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Examples?

Page 27: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)
Page 28: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

What is version control?Other names?

What problems does this solve?

What are the benefits?

What are some common features?

Page 29: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Definition:The management of changes to electronic documents and, in particular, computer programs.

Page 30: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

“In computer software engineering, revision control is any kind of practice that tracks and provides control over changes to source code.”

Wikipedia knows everything

Page 31: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Tell us about a time when you could have used some version control...

Page 32: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Local Version Control Systems

Page 33: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Version Control: A Visualization

Page 34: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)
Page 35: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Branches and revisions through time - example scenario

1 2

A

3

C

5

B

4 6

Page 36: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Branches and revisions through time - actual workflow

Page 37: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Distributed vs. Centralized

Page 38: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Centralized

What are the benefits?

What are the weaknesses?

Page 39: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Decentralized

What are the benefits?

What are the weaknesses?

Page 40: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Git

Page 41: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Installing Git

Page 42: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Installing Git

http://git-for-windows.github.io/

Page 43: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Installing Git

http://git-scm.com/download/mac

Page 44: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Git - History Lesson

● Originally conceived/created by Linus Torvalds (after a fight with BitKeeper)

● Distributed Version Control

● Open Source

● Initial release: 7 April 2005

● All metadata is stored in the .git directory

Page 45: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Git - Advantages

● Speed

● Simple design

● Strong support for non-linear development (thousands of parallel branches)

● Fully distributed

● Able to handle large projects like the Linux kernel efficiently (speed and data size)

Page 46: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Git - “Places”

Object Database

where git stores metadata about each commit

Index / Staging Area

file snapshots to be included in next commit

Working Directory

the “physical” files on a computer

Page 47: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Git - “Stages”

Committeddata is safely stored in your local object database

Stagedmarked such that the current state of the modified file will be included in the next commit

Modifiedchanged but not staged or committed

Page 48: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Git - Areas/places

Page 49: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Git Commands

Page 50: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Git - Basic Commands

git initcreate a new git repository to manage the current folder

git clone <repository address>downloads an existing git repository for the first time

git add <file path>marks individual/modified files to be added to the index/staging area for next commit

git commit -m <message>takes metadata/changes from staging and adds to the object database

Page 51: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

git fetch <server> <branch>updates your object database but does not change the working directory

git merge <source branch>applies the commits from source branch to the current working directory (which is the manifestation of another branch)

git pull <server> <branch>performs a fetch and then merges those changes into your working directory

git push <server> <branch>sends your latest branch commits to the remote server

Git - Basic Commands

Page 52: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Git Challenge (20 minutes)https://try.github.io/levels/1/challenges/1

Page 53: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Github

Page 54: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)
Page 55: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Github

● A remote git repository

● A website

○ provides secure access

○ provides repository metadata & reports

○ provides tools for development teams

● Launched: April 10, 2008

● ~10 million users in 2015

Page 56: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Non-local git repositories are called “remotes”

Page 57: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Git - “Places”

Object Database

where git stores metadata about each commit

Index / Staging Area

file snapshots to be included in next commit

Working Directory

the “physical” files on a computer

Page 58: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Github: A Distributed Version Control example

Page 59: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Git - “Origin”

● The “origin” remote is automatically created when you clone

● It is the default remote to use for pushing and pulling

● There is nothing special about “origin” it is just a default name

Page 60: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

User Account

Page 61: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)
Page 62: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Repo

Page 63: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)
Page 64: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Command Line

Page 65: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Shifting to the command line...

Page 66: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)
Page 67: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Mac OSX Terminal

Windows Powershell

Where am I?

Page 68: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Mac OSX Terminal

Windows Powershell

What’s my name?

Page 69: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Mac OSX Terminal

Windows Powershell

Make a directory

> mkdir temp> mkdir temp/stuff> mkdir temp/stuff/things> mkdir temp/stuff/things/frank/joe/alex/john>

Page 70: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Mac OSX Terminal

Windows Powershell

Change between directories

> cd temp> pwd>

$ cd temp$ pwd $

Page 71: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Mac OSX Terminal

Windows Powershell

List files and directories

> dir>

$ ls$

Page 72: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Mac OSX Terminal

Windows Powershell

Make an empty file

> cd temp> New-Item iamcool.txt -type file> dir>

$ cd temp$ touch iamcool.txt $ ls$

Page 73: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Zed Shaw’s book

Page 74: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Let’s use what we’ve learned!

Page 75: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Merge Conflict Workshop (20 minutes):http://bit.ly/xbus501-workshop-git

Page 76: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)
Page 77: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Teamwork(makes the dream work!)

Page 78: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Organization

Page 79: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)
Page 80: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Waffle

Page 81: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)
Page 82: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Pair programming:Make your own waffle!

Page 83: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Communication:Commit Messages

Page 84: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

git commit -m “try to be as helpful as possible”

(To your team and to future you)

Page 85: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Why?

Page 86: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Why do data scientists need version control?

Page 87: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Where does version control fit into the data science pipeline?

Data Ingestion Data Munging and Wrangling

Computation and Analyses

Modeling and Application

Reporting and Visualization

Page 88: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Folder structure conventions on Github

Page 89: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

README.md

Page 90: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

.gitignore

Page 91: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

/fixtures

Page 92: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

requirements.txt

Page 93: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Where to go from here?

Page 95: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

ResourcesGit Desktop : https://desktop.github.com/

TortoiseGit: https://tortoisegit.org/

Git Cheat Sheet: https://training.github.com/kit/downloads/github-git-cheat-sheet.pdf

Getting Started: https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control

Basics: https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository

Branching: https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell

Github Setup: https://git-scm.com/book/en/v2/GitHub-Account-Setup-and-Configuration

Git Tools: https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection

Git Commands: https://git-scm.com/book/en/v2/Git-Commands-Setup-and-Config

Page 97: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Commerce Research Library - Upcoming Events

Page 98: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)

Special thanks to my teachers:

Benjamin Bengfortgithub.com/bbengfort

Allen Leisgithub.com/looselycoupled

Faculty at Georgetown School of Continuing StudiesGraduate students and the University of Maryland, College Park

(These are mostly their slides!)

Page 99: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)
Page 100: Working with Teams: Git and Github - United States ......Working with Teams: Git and Github Rebecca Bilbro, Sasan Bahadaran, Pri Oberoi 3/21/2016 Dr. Rebecca Bilbro (rbilbro@doc.gov)