SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

Git For The Android Developer
Git For The Android DeveloperGit For The Android Developer
Git For The Android Developer
Effective
 
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
James Williams
 

La actualidad más candente (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
 

Destacado

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
Carla Hassan Marciel
 

Destacado (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
 

Similar a Intro. to Git and Github

Git Distributed Version Control System
Git   Distributed Version Control SystemGit   Distributed Version Control System
Git Distributed Version Control System
Victor Wong
 
Openstack contribution process
Openstack contribution processOpenstack contribution process
Openstack contribution process
Syed Armani
 
OpenStack Contribution Process
OpenStack Contribution ProcessOpenStack Contribution Process
OpenStack Contribution Process
openstackindia
 
Untangling fall2017 week2_try2
Untangling fall2017 week2_try2Untangling fall2017 week2_try2
Untangling fall2017 week2_try2
Derek Jacoby
 
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
Robert Lee-Cann
 

Similar a 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
 

Más de Olmo 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 Presentation
Olmo F. Maldonado
 

Más de 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
 

Último

Último (20)

Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 

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