SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Academy
Building Better Nerds™
www.codergv.com
All Rights Reserved
http://goo.gl/qkU4nc
Join the presentation
Academy
Building Better Nerds™
www.codergv.com
All Rights Reserved
Intro. to Git/GitHub
by Olmo Maldonado
GMG Agency, LLC
February 5th, 2015
Academy www.codergv.com • All Rights Reserved
Instructor: Olmo Maldonado
➔Over 10 years of experience as Software Engineer
➔Masters in Electrical Engineering from UCLA
➔Founder Tech Tuesdays, Code#RGV
➔MooTools Developer
➔Ex-Googler with Google Photos Team, circa 2009
➔Fluent in JavaScript, PHP, and many more web
tech
Contact & Follow
{facebook, twitter, github}.com/ibolmo
Academy www.codergv.com • All Rights Reserved
What is Version Control?
➔We use “Version Control” already
◆Ctrl-Z
◆Copy & Paste Files (plus rename), or email copies
◆Dropbox, review history
◆Google Docs, File revision history
V1
Blank
V2
V3
Ctrl-Z
Blank
V1
V2 - Bob
V3 - Bob
Email Bob a copy.
Academy www.codergv.com • All Rights Reserved
Complexities in Version Control
A.Must retain as much
history as possible
without loss to the data.
B.Must help with working
with others.
C.Must allow
manipulation/playback
of the history.
V1
Blank
V3
Vn
V2
A.
Blank
V1 - You
V2 - Bob
V3 - merged
VnB.
Blank
V2
V2+
V2++
Blank
V1
V2
V1++
C.
V1
V1+
Academy www.codergv.com • All Rights Reserved
Why Version Control: Flexiblity
Academy www.codergv.com • All Rights Reserved
Why Version Control: Power
Releases
(proofs)
Academy www.codergv.com • All Rights Reserved
Why Version Control: Blame
Academy www.codergv.com • All Rights Reserved
Why Version Control: Analysis
gitinspector.googlecode.com
github.com/mbostock/d3/graphs/contributors
Academy www.codergv.com • All Rights Reserved
Why Version Control: Independence
Academy www.codergv.com • All Rights Reserved
industries that should/uses V.C.
➔Medical: Treatment plans and med. history
➔Architecture: Multiple designers, one goal
➔Graphic Design: For those pesky clients
➔Accounting: For auditing
➔Software Dev. (of course): For collab.
➔Government: who was involved, what changed
➔Bottom line: Anyone/Everyone
https://github.com/unitedstates/congress
govtrack.us
Academy www.codergv.com • All Rights Reserved
What is Git?
It’s a version control system. Sorry, this is a fundamentals class.
For now, you can read for technical details:
http://git-scm.com/book/en/v2/Getting-Started-Git-Basics
Simply:
➔most adopted
➔fast … extremely fast
➔simple(r) to use compared to previous art
➔you can run Git on any platform
➔you don’t need GitHub, or any other service, to
benefit from Git
Academy www.codergv.com • All Rights Reserved
Google Trends of Git vs others
Academy www.codergv.com • All Rights Reserved
What is GitHub?
➔a hosted service on top of Git
➔simplifies collaboration
➔most popular; used by Google, Facebook,
Microsoft, and most startups (including
Code#RGV: github.com/codergv)
➔Free for Open Source projects (public)
➔Reasonable costs ($7/mo) for private projects
Academy www.codergv.com • All Rights Reserved
Google Trends of GitHub vs ...
Academy www.codergv.com • All Rights Reserved
Let’s get working
Warning, the following may cause eyes to glaze.
Feel free to stop me, and ask questions.
Academy www.codergv.com • All Rights Reserved
Git/Github Workflow
➔Find/search for projects (and people)
➔Follow project and people
➔Create projects, and upload (push) changes
➔Repeat all of the above
Academy www.codergv.com • All Rights Reserved
Find/search for Projects
➔Use keywords/search terms
➔Lookup most popular/trending projects by
language
➔Don’t forget to evaluate the project
◆Number of stars (bookmarks)
◆Number of people watching (usually contributors)
◆Look at graphs and see if they’re consistent
➔Adv. Search Operators
◆https://github.com/search/advanced
Academy www.codergv.com • All Rights Reserved
https://github.com/search?q=3d
Academy www.codergv.com • All Rights Reserved
https://github.com/iojs/io.js/graphs/contributors
Academy www.codergv.com • All Rights Reserved
Git/Github Workflow
➔Find/search for projects (and people)
➔Follow project and people
➔Create projects, and upload (push) changes
➔Repeat all of the above
Academy www.codergv.com • All Rights Reserved
https://github.com/search?q=location%3AMcAllen
Academy www.codergv.com • All Rights Reserved
github.com/ibolmo?tab=activity
Academy www.codergv.com • All Rights Reserved
➔Follow people
➔Star (bookmark/like) projects
➔Watch projects get notifications on issues,
changes, or comments
➔Go to github.com/explore everyday, or sign-up
for newsletter
Encouraged to
Academy www.codergv.com • All Rights Reserved
Git/Github Workflow
➔Find/search for projects (and people)
➔Follow project and people
➔Create projects, and upload (push) changes
➔Repeat all of the above
Academy www.codergv.com • All Rights Reserved
First …
➔Setup Git
◆https://help.github.com/articles/set-up-git
➔Setup Git ↔ Github Authentication
◆help.github.com/articles/caching-your-github-password-in-git
Create a Project (on GitHub)
Academy www.codergv.com • All Rights Reserved
github.com/new
Academy www.codergv.com • All Rights Reserved
github.com/ibolmo/github-demo
Academy www.codergv.com • All Rights Reserved
(aside) Create a Git REpo. (local)
Academy www.codergv.com • All Rights Reserved
Git Commands Explained
Sorry, see presentation for additional explanation or
learn more about git init, status, add, commit, etc.
➔See: http://git-scm.com/docs
➔man git (in a command prompt or terminal)
Academy www.codergv.com • All Rights Reserved
Working with the Repository
> git clone https://github.com/ibolmo/github-demo.git
> cd github-demo
> echo 'Hello World!' >> README.md # append text
> git status
> git add README.md
> git commit
> git log
> # continue making changes, and committing.
> gitk # may need to install gitk, or `open -a 'gitx'`
> git push origin master # to be discussed
Academy www.codergv.com • All Rights Reserved
➔Default branch name. Just a label.
➔You can have as many branches as you’d like.
➔Their purpose is to allow you to work
independently.
➔Best practice:
use a branch that is
not your master, and merge.
➔See:
guides.github.com/introduction/flow/index.html
Master? WTH are branches?
master
new-feature
fix-bug
redo-ui
Academy www.codergv.com • All Rights Reserved
Working with Branches
> git branch # find out what branch I’m in
> git checkout -b 'new-branch' # create a new branch
> echo 'Hello from Texas!' >> README.md # append text
> # make changes
> git add README.md
> git commit
> gitk # may need to install gitk, or `open -a 'gitx'`
> git checkout master
> git merge new-branch
> git branch -d new-branch # delete branch
Academy www.codergv.com • All Rights Reserved
> git merge new-branch # might throw a conflict
> git status # to see what conflicted
> open README.md # edit and resolve conflict
> git status
> git add README.md
> git commit
> git status
Dealing with Conflicts
<<<<< HEAD
This is in the current branch
==========
This is in the other branch
>>>>>> 8a8ecd
Example
Academy www.codergv.com • All Rights Reserved
git push origin master?git push origin master?
So far we’ve worked locally.
Now it’s time to send your changes (snapshots) to
a remote server (e.g. GitHub).
Origin is again just a label.
Aside
Host your own Git server with Gitolite
http://gitolite.com/gitolite/install.html
Academy www.codergv.com • All Rights Reserved
Working with Remotes
> git remote # find out what remotes are available
> git remote show origin
> git fetch origin
> git remote -m origin ibolmo # rename label
> git push ibolmo master # upload snapshot(s)
> git pull ibolmo # download snapshot(s)
> git remote add codergv https://github.com/codergv/github-demo
> git remote
> git checkout ibolmo/new-branch # use remote branch (temp)
> git checkout -b olmos-branch # make a local branch
Academy www.codergv.com • All Rights Reserved
Using branches and remotes to collaborate.
See: http://nvie.com/posts/a-successful-git-branching-model/
Academy www.codergv.com • All Rights Reserved
➔Find a project, and fork it.
➔It’s cool. Everyone’s doing it.
➔Get your own copy of the repo.
➔You have complete control.
➔When ready, you will create a Pull
Request to contribute back.
➔Follow style guide and contributing
guidelines.
Working with Others on GitHub
Academy www.codergv.com • All Rights Reserved
Academy www.codergv.com • All Rights Reserved
Academy www.codergv.com • All Rights Reserved
Just as Before
> git clone https://github.com/ibolmo/getting-started.git
> cd getting-started
> # make changes
> git add # files
> git commit
> git remote # optional, if you want to check
> git push origin master
> ####
> # instead now on GitHub do a Pull Request
Academy www.codergv.com • All Rights Reserved
Compare your master with the original master
Academy www.codergv.com • All Rights Reserved
You can select the exact branch, and see what would be included for the PR.
Academy www.codergv.com • All Rights Reserved
Give a title, and description, of the PR. See if able to easily merge.
Academy www.codergv.com • All Rights Reserved
From the originator’s perspective.
Academy www.codergv.com • All Rights Reserved
Academy www.codergv.com • All Rights Reserved
Academy www.codergv.com • All Rights Reserved
Use GitHub for Mac https://mac.github.com/
Academy www.codergv.com • All Rights Reserved
Github for Windows https://windows.github.com/
Academy www.codergv.com • All Rights Reserved
Homework
Post updates/questions to Code#RGV Forum, or use
#codergv #academy #hw in tweets and posts
1. Fork github.com/codergv/getting-started
2. Add a useful tip for those getting started
3. Send a Pull Request
Academy
Building Better Nerds™
www.codergv.com
All Rights Reserved
Thank You!
#codergv
#academy
Evaluation
http://goo.gl/3VWq9u
lowercase L

Weitere ähnliche Inhalte

Was ist angesagt?

Version control with git
Version control with gitVersion control with git
Version control with gitPurav Gandhi
 
Github Case Study By Amil Ali
Github Case Study By Amil AliGithub Case Study By Amil Ali
Github Case Study By Amil AliAmilAli1
 
Git For The Android Developer
Git For The Android DeveloperGit For The Android Developer
Git For The Android DeveloperEffective
 
Ratpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web AppsRatpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web AppsJames Williams
 
Collaborative Development: The Only CD That Matters - Brent Beer - Codemotion...
Collaborative Development: The Only CD That Matters - Brent Beer - Codemotion...Collaborative Development: The Only CD That Matters - Brent Beer - Codemotion...
Collaborative Development: The Only CD That Matters - Brent Beer - Codemotion...Codemotion
 
ESE 2010: Using Git in Eclipse
ESE 2010: Using Git in EclipseESE 2010: Using Git in Eclipse
ESE 2010: Using Git in EclipseChris Aniszczyk
 
Contributing to github is for everyone
Contributing to github is for everyoneContributing to github is for everyone
Contributing to github is for everyoneMatt Heusser
 
Git for Beginners
Git for BeginnersGit for Beginners
Git for BeginnersRick Umali
 
Introduction to GitHub
Introduction to GitHubIntroduction to GitHub
Introduction to GitHubNishan Bose
 
Git Educated About Git - 20 Essential Commands
Git Educated About Git - 20 Essential CommandsGit Educated About Git - 20 Essential Commands
Git Educated About Git - 20 Essential CommandsJeremy Lindblom
 
Juliette Reinders Folmer - Promote your open source project with GitHub Pages...
Juliette Reinders Folmer - Promote your open source project with GitHub Pages...Juliette Reinders Folmer - Promote your open source project with GitHub Pages...
Juliette Reinders Folmer - Promote your open source project with GitHub Pages...Codemotion
 
Git for Android Developers
Git for Android DevelopersGit for Android Developers
Git for Android DevelopersTony Hillerson
 
Git and git workflow best practice
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practiceMajid Hosseini
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsLee Hanxue
 
Git, GitHub and Open Source
Git, GitHub and Open SourceGit, GitHub and Open Source
Git, GitHub and Open SourceLorna Mitchell
 
Android is going to Go! Android and Golang
Android is going to Go! Android and GolangAndroid is going to Go! Android and Golang
Android is going to Go! Android and GolangAlmog Baku
 
Brief tutorial on Git
Brief tutorial on GitBrief tutorial on Git
Brief tutorial on Git聖文 鄭
 

Was ist angesagt? (20)

Git and Github
Git and GithubGit and Github
Git and Github
 
Version control with git
Version control with gitVersion control with git
Version control with git
 
Git and Github workshop
Git and Github workshopGit and Github workshop
Git and Github workshop
 
Github Case Study By Amil Ali
Github Case Study By Amil AliGithub Case Study By Amil Ali
Github Case Study By Amil Ali
 
Git For The Android Developer
Git For The Android DeveloperGit For The Android Developer
Git For The Android Developer
 
Git best practices 2016
Git best practices 2016Git best practices 2016
Git best practices 2016
 
Ratpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web AppsRatpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web Apps
 
Collaborative Development: The Only CD That Matters - Brent Beer - Codemotion...
Collaborative Development: The Only CD That Matters - Brent Beer - Codemotion...Collaborative Development: The Only CD That Matters - Brent Beer - Codemotion...
Collaborative Development: The Only CD That Matters - Brent Beer - Codemotion...
 
ESE 2010: Using Git in Eclipse
ESE 2010: Using Git in EclipseESE 2010: Using Git in Eclipse
ESE 2010: Using Git in Eclipse
 
Contributing to github is for everyone
Contributing to github is for everyoneContributing to github is for everyone
Contributing to github is for everyone
 
Git for Beginners
Git for BeginnersGit for Beginners
Git for Beginners
 
Introduction to GitHub
Introduction to GitHubIntroduction to GitHub
Introduction to GitHub
 
Git Educated About Git - 20 Essential Commands
Git Educated About Git - 20 Essential CommandsGit Educated About Git - 20 Essential Commands
Git Educated About Git - 20 Essential Commands
 
Juliette Reinders Folmer - Promote your open source project with GitHub Pages...
Juliette Reinders Folmer - Promote your open source project with GitHub Pages...Juliette Reinders Folmer - Promote your open source project with GitHub Pages...
Juliette Reinders Folmer - Promote your open source project with GitHub Pages...
 
Git for Android Developers
Git for Android DevelopersGit for Android Developers
Git for Android Developers
 
Git and git workflow best practice
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practice
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
 
Git, GitHub and Open Source
Git, GitHub and Open SourceGit, GitHub and Open Source
Git, GitHub and Open Source
 
Android is going to Go! Android and Golang
Android is going to Go! Android and GolangAndroid is going to Go! Android and Golang
Android is going to Go! Android and Golang
 
Brief tutorial on Git
Brief tutorial on GitBrief tutorial on Git
Brief tutorial on Git
 

Andere mochten auch

Întâlnirea II de reflecţie şi autoevaluare
Întâlnirea II de reflecţie şi autoevaluareÎntâlnirea II de reflecţie şi autoevaluare
Întâlnirea II de reflecţie şi autoevaluareFundatia Noi Orizonturi
 
La cátedra 2 será el jueves 30 de
La cátedra 2 será el jueves 30 deLa cátedra 2 será el jueves 30 de
La cátedra 2 será el jueves 30 deCarla Hassan Marciel
 
Presentacion de-materiales-compuestos-3
Presentacion de-materiales-compuestos-3Presentacion de-materiales-compuestos-3
Presentacion de-materiales-compuestos-3Damian Jiménez
 
From Mind to Market - Value Propositions and Quick Pitches
From Mind to Market - Value Propositions and Quick PitchesFrom Mind to Market - Value Propositions and Quick Pitches
From Mind to Market - Value Propositions and Quick PitchesMichael Koenka
 
FinTech-seminaarin avauspuheenvuoro
FinTech-seminaarin avauspuheenvuoroFinTech-seminaarin avauspuheenvuoro
FinTech-seminaarin avauspuheenvuoroFinanssivalvonta
 
CommonMark: Markdown done right - Nomad PHP September 2016
CommonMark: Markdown done right - Nomad PHP September 2016CommonMark: Markdown done right - Nomad PHP September 2016
CommonMark: Markdown done right - Nomad PHP September 2016Colin O'Dell
 
Elabscience Biotechnology Company Introduction
Elabscience Biotechnology Company IntroductionElabscience Biotechnology Company Introduction
Elabscience Biotechnology Company IntroductionElabscience
 
Ison toimijan vastaus haasteeseen
Ison toimijan vastaus haasteeseenIson toimijan vastaus haasteeseen
Ison toimijan vastaus haasteeseenFinanssivalvonta
 
The People Formerly Known as the Consumer
The People Formerly Known as the ConsumerThe People Formerly Known as the Consumer
The People Formerly Known as the ConsumerMichael Koenka
 

Andere mochten auch (13)

Restuarant resume
Restuarant resumeRestuarant resume
Restuarant resume
 
Întâlnirea II de reflecţie şi autoevaluare
Întâlnirea II de reflecţie şi autoevaluareÎntâlnirea II de reflecţie şi autoevaluare
Întâlnirea II de reflecţie şi autoevaluare
 
La cátedra 2 será el jueves 30 de
La cátedra 2 será el jueves 30 deLa cátedra 2 será el jueves 30 de
La cátedra 2 será el jueves 30 de
 
x
xx
x
 
Palaute
PalautePalaute
Palaute
 
Diagramade flujo
Diagramade flujoDiagramade flujo
Diagramade flujo
 
Presentacion de-materiales-compuestos-3
Presentacion de-materiales-compuestos-3Presentacion de-materiales-compuestos-3
Presentacion de-materiales-compuestos-3
 
From Mind to Market - Value Propositions and Quick Pitches
From Mind to Market - Value Propositions and Quick PitchesFrom Mind to Market - Value Propositions and Quick Pitches
From Mind to Market - Value Propositions and Quick Pitches
 
FinTech-seminaarin avauspuheenvuoro
FinTech-seminaarin avauspuheenvuoroFinTech-seminaarin avauspuheenvuoro
FinTech-seminaarin avauspuheenvuoro
 
CommonMark: Markdown done right - Nomad PHP September 2016
CommonMark: Markdown done right - Nomad PHP September 2016CommonMark: Markdown done right - Nomad PHP September 2016
CommonMark: Markdown done right - Nomad PHP September 2016
 
Elabscience Biotechnology Company Introduction
Elabscience Biotechnology Company IntroductionElabscience Biotechnology Company Introduction
Elabscience Biotechnology Company Introduction
 
Ison toimijan vastaus haasteeseen
Ison toimijan vastaus haasteeseenIson toimijan vastaus haasteeseen
Ison toimijan vastaus haasteeseen
 
The People Formerly Known as the Consumer
The People Formerly Known as the ConsumerThe People Formerly Known as the Consumer
The People Formerly Known as the Consumer
 

Ähnlich wie Intro. to Git and Github

Open up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubOpen up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubScott Graham
 
Introduction to git and Github
Introduction to git and GithubIntroduction to git and Github
Introduction to git and GithubWycliff1
 
Git Distributed Version Control System
Git   Distributed Version Control SystemGit   Distributed Version Control System
Git Distributed Version Control SystemVictor Wong
 
.Git for WordPress Developers
.Git for WordPress Developers.Git for WordPress Developers
.Git for WordPress Developersmpvanwinkle
 
How does one learn to program?
How does one learn to program?How does one learn to program?
How does one learn to program?Olmo F. Maldonado
 
Git: Why And How to
Git: Why And How toGit: Why And How to
Git: Why And How tolanhuonga3
 
Openstack contribution process
Openstack contribution processOpenstack contribution process
Openstack contribution processSyed Armani
 
OpenStack Contribution Process
OpenStack Contribution ProcessOpenStack Contribution Process
OpenStack Contribution Processopenstackindia
 
Self Hosted Web-based GIT Repository Managers
Self Hosted Web-based GIT Repository ManagersSelf Hosted Web-based GIT Repository Managers
Self Hosted Web-based GIT Repository ManagersPurav Gandhi
 
Git, github and the hacktober fest
Git, github and the hacktober festGit, github and the hacktober fest
Git, github and the hacktober festUtkarshRaj83
 
Git single branch
Git single branchGit single branch
Git single branchCarl Brown
 
Untangling fall2017 week2
Untangling fall2017 week2Untangling fall2017 week2
Untangling fall2017 week2Derek Jacoby
 
Untangling fall2017 week2_try2
Untangling fall2017 week2_try2Untangling fall2017 week2_try2
Untangling fall2017 week2_try2Derek Jacoby
 
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808Cisco DevNet
 
Write microservice in golang
Write microservice in golangWrite microservice in golang
Write microservice in golangBo-Yi Wu
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitRobert Lee-Cann
 
Git & Github Workshop - Le Wagon Melbourne
Git & Github Workshop - Le Wagon MelbourneGit & Github Workshop - Le Wagon Melbourne
Git & Github Workshop - Le Wagon MelbournePaal Ringstad
 

Ähnlich wie Intro. to Git and Github (20)

Open up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubOpen up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHub
 
Introduction to git and Github
Introduction to git and GithubIntroduction to git and Github
Introduction to git and Github
 
Git Distributed Version Control System
Git   Distributed Version Control SystemGit   Distributed Version Control System
Git Distributed Version Control System
 
.Git for WordPress Developers
.Git for WordPress Developers.Git for WordPress Developers
.Git for WordPress Developers
 
How does one learn to program?
How does one learn to program?How does one learn to program?
How does one learn to program?
 
Git: Why And How to
Git: Why And How toGit: Why And How to
Git: Why And How to
 
14 oct Git & GitHub.pptx
14 oct Git & GitHub.pptx14 oct Git & GitHub.pptx
14 oct Git & GitHub.pptx
 
Openstack contribution process
Openstack contribution processOpenstack contribution process
Openstack contribution process
 
OpenStack Contribution Process
OpenStack Contribution ProcessOpenStack Contribution Process
OpenStack Contribution Process
 
Self Hosted Web-based GIT Repository Managers
Self Hosted Web-based GIT Repository ManagersSelf Hosted Web-based GIT Repository Managers
Self Hosted Web-based GIT Repository Managers
 
Git, github and the hacktober fest
Git, github and the hacktober festGit, github and the hacktober fest
Git, github and the hacktober fest
 
Git single branch
Git single branchGit single branch
Git single branch
 
Untangling fall2017 week2
Untangling fall2017 week2Untangling fall2017 week2
Untangling fall2017 week2
 
Untangling fall2017 week2_try2
Untangling fall2017 week2_try2Untangling fall2017 week2_try2
Untangling fall2017 week2_try2
 
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
 
Github By Nyros Developer
Github By Nyros DeveloperGithub By Nyros Developer
Github By Nyros Developer
 
GitHub Event.pptx
GitHub Event.pptxGitHub Event.pptx
GitHub Event.pptx
 
Write microservice in golang
Write microservice in golangWrite microservice in golang
Write microservice in golang
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with Git
 
Git & Github Workshop - Le Wagon Melbourne
Git & Github Workshop - Le Wagon MelbourneGit & Github Workshop - Le Wagon Melbourne
Git & Github Workshop - Le Wagon Melbourne
 

Mehr von Olmo F. Maldonado

How to Manage in the Tech Industry
How to Manage in the Tech IndustryHow to Manage in the Tech Industry
How to Manage in the Tech IndustryOlmo F. Maldonado
 
Hangman for the Masses Showcase of Web Tech
Hangman for the Masses Showcase of Web TechHangman for the Masses Showcase of Web Tech
Hangman for the Masses Showcase of Web TechOlmo F. Maldonado
 
Preserving Your Digital Images on the Cloud
Preserving Your Digital Images on the CloudPreserving Your Digital Images on the Cloud
Preserving Your Digital Images on the CloudOlmo F. Maldonado
 
R.E.M.O.T.E. LSAMP Presentation
R.E.M.O.T.E. LSAMP PresentationR.E.M.O.T.E. LSAMP Presentation
R.E.M.O.T.E. LSAMP PresentationOlmo F. Maldonado
 
Bet the Farm on the RGV Tech Community
Bet the Farm on the RGV Tech CommunityBet the Farm on the RGV Tech Community
Bet the Farm on the RGV Tech CommunityOlmo F. Maldonado
 

Mehr von Olmo F. Maldonado (9)

How to Manage in the Tech Industry
How to Manage in the Tech IndustryHow to Manage in the Tech Industry
How to Manage in the Tech Industry
 
How Tech Impacts Industry
How Tech Impacts IndustryHow Tech Impacts Industry
How Tech Impacts Industry
 
Hangman for the Masses Showcase of Web Tech
Hangman for the Masses Showcase of Web TechHangman for the Masses Showcase of Web Tech
Hangman for the Masses Showcase of Web Tech
 
Preserving Your Digital Images on the Cloud
Preserving Your Digital Images on the CloudPreserving Your Digital Images on the Cloud
Preserving Your Digital Images on the Cloud
 
R.E.M.O.T.E. LSAMP Presentation
R.E.M.O.T.E. LSAMP PresentationR.E.M.O.T.E. LSAMP Presentation
R.E.M.O.T.E. LSAMP Presentation
 
R.E.M.O.T.E. SACNAS Poster
R.E.M.O.T.E. SACNAS PosterR.E.M.O.T.E. SACNAS Poster
R.E.M.O.T.E. SACNAS Poster
 
NIMS Backpack Poster
NIMS Backpack PosterNIMS Backpack Poster
NIMS Backpack Poster
 
cametrics-report-final
cametrics-report-finalcametrics-report-final
cametrics-report-final
 
Bet the Farm on the RGV Tech Community
Bet the Farm on the RGV Tech CommunityBet the Farm on the RGV Tech Community
Bet the Farm on the RGV Tech Community
 

Kürzlich hochgeladen

Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 

Kürzlich hochgeladen (20)

Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 

Intro. to Git and Github

  • 1. Academy Building Better Nerds™ www.codergv.com All Rights Reserved http://goo.gl/qkU4nc Join the presentation
  • 2. Academy Building Better Nerds™ www.codergv.com All Rights Reserved Intro. to Git/GitHub by Olmo Maldonado GMG Agency, LLC February 5th, 2015
  • 3. Academy www.codergv.com • All Rights Reserved Instructor: Olmo Maldonado ➔Over 10 years of experience as Software Engineer ➔Masters in Electrical Engineering from UCLA ➔Founder Tech Tuesdays, Code#RGV ➔MooTools Developer ➔Ex-Googler with Google Photos Team, circa 2009 ➔Fluent in JavaScript, PHP, and many more web tech Contact & Follow {facebook, twitter, github}.com/ibolmo
  • 4. Academy www.codergv.com • All Rights Reserved What is Version Control? ➔We use “Version Control” already ◆Ctrl-Z ◆Copy & Paste Files (plus rename), or email copies ◆Dropbox, review history ◆Google Docs, File revision history V1 Blank V2 V3 Ctrl-Z Blank V1 V2 - Bob V3 - Bob Email Bob a copy.
  • 5. Academy www.codergv.com • All Rights Reserved Complexities in Version Control A.Must retain as much history as possible without loss to the data. B.Must help with working with others. C.Must allow manipulation/playback of the history. V1 Blank V3 Vn V2 A. Blank V1 - You V2 - Bob V3 - merged VnB. Blank V2 V2+ V2++ Blank V1 V2 V1++ C. V1 V1+
  • 6. Academy www.codergv.com • All Rights Reserved Why Version Control: Flexiblity
  • 7. Academy www.codergv.com • All Rights Reserved Why Version Control: Power Releases (proofs)
  • 8. Academy www.codergv.com • All Rights Reserved Why Version Control: Blame
  • 9. Academy www.codergv.com • All Rights Reserved Why Version Control: Analysis gitinspector.googlecode.com github.com/mbostock/d3/graphs/contributors
  • 10. Academy www.codergv.com • All Rights Reserved Why Version Control: Independence
  • 11. Academy www.codergv.com • All Rights Reserved industries that should/uses V.C. ➔Medical: Treatment plans and med. history ➔Architecture: Multiple designers, one goal ➔Graphic Design: For those pesky clients ➔Accounting: For auditing ➔Software Dev. (of course): For collab. ➔Government: who was involved, what changed ➔Bottom line: Anyone/Everyone https://github.com/unitedstates/congress govtrack.us
  • 12. Academy www.codergv.com • All Rights Reserved What is Git? It’s a version control system. Sorry, this is a fundamentals class. For now, you can read for technical details: http://git-scm.com/book/en/v2/Getting-Started-Git-Basics Simply: ➔most adopted ➔fast … extremely fast ➔simple(r) to use compared to previous art ➔you can run Git on any platform ➔you don’t need GitHub, or any other service, to benefit from Git
  • 13. Academy www.codergv.com • All Rights Reserved Google Trends of Git vs others
  • 14. Academy www.codergv.com • All Rights Reserved What is GitHub? ➔a hosted service on top of Git ➔simplifies collaboration ➔most popular; used by Google, Facebook, Microsoft, and most startups (including Code#RGV: github.com/codergv) ➔Free for Open Source projects (public) ➔Reasonable costs ($7/mo) for private projects
  • 15. Academy www.codergv.com • All Rights Reserved Google Trends of GitHub vs ...
  • 16. Academy www.codergv.com • All Rights Reserved Let’s get working Warning, the following may cause eyes to glaze. Feel free to stop me, and ask questions.
  • 17. Academy www.codergv.com • All Rights Reserved Git/Github Workflow ➔Find/search for projects (and people) ➔Follow project and people ➔Create projects, and upload (push) changes ➔Repeat all of the above
  • 18. Academy www.codergv.com • All Rights Reserved Find/search for Projects ➔Use keywords/search terms ➔Lookup most popular/trending projects by language ➔Don’t forget to evaluate the project ◆Number of stars (bookmarks) ◆Number of people watching (usually contributors) ◆Look at graphs and see if they’re consistent ➔Adv. Search Operators ◆https://github.com/search/advanced
  • 19. Academy www.codergv.com • All Rights Reserved https://github.com/search?q=3d
  • 20. Academy www.codergv.com • All Rights Reserved https://github.com/iojs/io.js/graphs/contributors
  • 21. Academy www.codergv.com • All Rights Reserved Git/Github Workflow ➔Find/search for projects (and people) ➔Follow project and people ➔Create projects, and upload (push) changes ➔Repeat all of the above
  • 22. Academy www.codergv.com • All Rights Reserved https://github.com/search?q=location%3AMcAllen
  • 23. Academy www.codergv.com • All Rights Reserved github.com/ibolmo?tab=activity
  • 24. Academy www.codergv.com • All Rights Reserved ➔Follow people ➔Star (bookmark/like) projects ➔Watch projects get notifications on issues, changes, or comments ➔Go to github.com/explore everyday, or sign-up for newsletter Encouraged to
  • 25. Academy www.codergv.com • All Rights Reserved Git/Github Workflow ➔Find/search for projects (and people) ➔Follow project and people ➔Create projects, and upload (push) changes ➔Repeat all of the above
  • 26. Academy www.codergv.com • All Rights Reserved First … ➔Setup Git ◆https://help.github.com/articles/set-up-git ➔Setup Git ↔ Github Authentication ◆help.github.com/articles/caching-your-github-password-in-git Create a Project (on GitHub)
  • 27. Academy www.codergv.com • All Rights Reserved github.com/new
  • 28. Academy www.codergv.com • All Rights Reserved github.com/ibolmo/github-demo
  • 29. Academy www.codergv.com • All Rights Reserved (aside) Create a Git REpo. (local)
  • 30. Academy www.codergv.com • All Rights Reserved Git Commands Explained Sorry, see presentation for additional explanation or learn more about git init, status, add, commit, etc. ➔See: http://git-scm.com/docs ➔man git (in a command prompt or terminal)
  • 31. Academy www.codergv.com • All Rights Reserved Working with the Repository > git clone https://github.com/ibolmo/github-demo.git > cd github-demo > echo 'Hello World!' >> README.md # append text > git status > git add README.md > git commit > git log > # continue making changes, and committing. > gitk # may need to install gitk, or `open -a 'gitx'` > git push origin master # to be discussed
  • 32. Academy www.codergv.com • All Rights Reserved ➔Default branch name. Just a label. ➔You can have as many branches as you’d like. ➔Their purpose is to allow you to work independently. ➔Best practice: use a branch that is not your master, and merge. ➔See: guides.github.com/introduction/flow/index.html Master? WTH are branches? master new-feature fix-bug redo-ui
  • 33. Academy www.codergv.com • All Rights Reserved Working with Branches > git branch # find out what branch I’m in > git checkout -b 'new-branch' # create a new branch > echo 'Hello from Texas!' >> README.md # append text > # make changes > git add README.md > git commit > gitk # may need to install gitk, or `open -a 'gitx'` > git checkout master > git merge new-branch > git branch -d new-branch # delete branch
  • 34. Academy www.codergv.com • All Rights Reserved > git merge new-branch # might throw a conflict > git status # to see what conflicted > open README.md # edit and resolve conflict > git status > git add README.md > git commit > git status Dealing with Conflicts <<<<< HEAD This is in the current branch ========== This is in the other branch >>>>>> 8a8ecd Example
  • 35. Academy www.codergv.com • All Rights Reserved git push origin master?git push origin master? So far we’ve worked locally. Now it’s time to send your changes (snapshots) to a remote server (e.g. GitHub). Origin is again just a label. Aside Host your own Git server with Gitolite http://gitolite.com/gitolite/install.html
  • 36. Academy www.codergv.com • All Rights Reserved Working with Remotes > git remote # find out what remotes are available > git remote show origin > git fetch origin > git remote -m origin ibolmo # rename label > git push ibolmo master # upload snapshot(s) > git pull ibolmo # download snapshot(s) > git remote add codergv https://github.com/codergv/github-demo > git remote > git checkout ibolmo/new-branch # use remote branch (temp) > git checkout -b olmos-branch # make a local branch
  • 37. Academy www.codergv.com • All Rights Reserved Using branches and remotes to collaborate. See: http://nvie.com/posts/a-successful-git-branching-model/
  • 38. Academy www.codergv.com • All Rights Reserved ➔Find a project, and fork it. ➔It’s cool. Everyone’s doing it. ➔Get your own copy of the repo. ➔You have complete control. ➔When ready, you will create a Pull Request to contribute back. ➔Follow style guide and contributing guidelines. Working with Others on GitHub
  • 39. Academy www.codergv.com • All Rights Reserved
  • 40. Academy www.codergv.com • All Rights Reserved
  • 41. Academy www.codergv.com • All Rights Reserved Just as Before > git clone https://github.com/ibolmo/getting-started.git > cd getting-started > # make changes > git add # files > git commit > git remote # optional, if you want to check > git push origin master > #### > # instead now on GitHub do a Pull Request
  • 42. Academy www.codergv.com • All Rights Reserved Compare your master with the original master
  • 43. Academy www.codergv.com • All Rights Reserved You can select the exact branch, and see what would be included for the PR.
  • 44. Academy www.codergv.com • All Rights Reserved Give a title, and description, of the PR. See if able to easily merge.
  • 45. Academy www.codergv.com • All Rights Reserved From the originator’s perspective.
  • 46. Academy www.codergv.com • All Rights Reserved
  • 47. Academy www.codergv.com • All Rights Reserved
  • 48. Academy www.codergv.com • All Rights Reserved Use GitHub for Mac https://mac.github.com/
  • 49. Academy www.codergv.com • All Rights Reserved Github for Windows https://windows.github.com/
  • 50. Academy www.codergv.com • All Rights Reserved Homework Post updates/questions to Code#RGV Forum, or use #codergv #academy #hw in tweets and posts 1. Fork github.com/codergv/getting-started 2. Add a useful tip for those getting started 3. Send a Pull Request
  • 51. Academy Building Better Nerds™ www.codergv.com All Rights Reserved Thank You! #codergv #academy Evaluation http://goo.gl/3VWq9u lowercase L