SlideShare a Scribd company logo
1 of 24
Download to read offline
Source Control with
Git & GitHub
HIT, Advanced Programming
Course
Ronny Orbach, 13.6.17
Hello!
Nice to meet you
2
I’m Ronny, and I build web interfaces since 2001.
I play the bass guitar (badly), lived around here for
five years, and am a proud husband and father.
Front End Developer & Co-Founder at Really Good.
Talk to me:
▪ @RonnyOrbach
▪ fb.me/RonnyO
We Are
Really Good
3
We do high quality Front End
Development for tech
companies.
Reach out at:
▪ ReallyGood.co.il
▪ team@reallygood.co.il
▪ fb.me/ReallyGoodTeam
Today’s Agenda 1. Intro
2. Source Control
3. Git
4. GitHub
5. Live Demo
4
Technical, but I’m sure you’ll manage
1.
INTRO
Or “Tools? Who needs
tools?!”
5
6
How much
you want to
keep on living
after losing
work because
of FTP
Shoot me now.
Oh no, no, why?!
Shit Happens
SOURCE CONTROL
Working together, in the cloud, and getting back safely
7
About Source
(or Version)
Control
Source Control systems are a category of software tools
that help a software team manage changes to source code
over time. Source control software keeps track of every
modification to the code in a special kind of database.
8
Professional developers at Microsoft won’t settle for this archive on
a shared folder, right?
Windows 10.34.12 (release4 (FINAL Satya Approved2).zip
We’re professionals too, so let’s talk about better approaches.
Everyone need to track changes to all kinds of stuff. But in
software, a misplaced comma can bring down any app, so
smart tools are required.
About Source
Control
Tracking Text (and Other) Changes
Not a new problem.
Books, Laws & Legal, Intelligence, all
kinds of documents and content
producers need solutions — Most use
Locks, Track Changes or nothing at all.
9
Tracking Code Changes
The concept of tracking code changes
using special software was first
introduced in 1972, but took hold of the
software world decade by decade,
booming in the 2000s with DVCS.
Core
Concepts in
Source
Control
10
Repositories Commits
Branches Merges
THE
CONCEPTS
Repositories
and Commits Repositories
Repositories are simply projects.
We use them to track changes for big
stuff, usually whole products, but don’t
hesitate to create git repos for
anything.
Commits
A commit is the most important
part of tracking change - It’s a
unit of change(s), as the
developer committed it to Source
Control, with the date and a title.
Viewing the commit log should
give a fairly good history of the
project’s life, so you should take a
few seconds to phrase useful
commit messages such as “Fix
price doubling error (bug #73)”
instead of “fix”.
11
Trim video to 10 seconds | Ronny | 13/6 10:39
Branches and
Merges Branches
We commit changes in a series, and
the resulting graph can look something
like a trunk:
We can always “branch out” of master
to work on something else in parallel:
Merges
We usually want to merge
branches back in. Then our
graphs may become closer to:
12
2.
git
Free & fast Distributed
Version Control System
13
14
Git History
This is Linus. And he won’t take
this shit anymore.
Git Principles 1. Speed
2. Simple Design
3. Strong support for non-linear
development
4. Fully distributed
5. Able to handle large projects
15
Git Screenshots - Command Line Interface (CLI)
16
Git Screenshots - GUI Software (Tower, SourceTree, GitKraken)
17
Git Started
18
3.
github
The heart of the Open
Source world, hosting
millions of git projects
19
GitHub Screenshots
20
GitHub at a
Glance
Hosted
GitHub hosts git repos, so we
don’t need to set up servers.
Really easy to get started.
Industry Standard
Practically all of the Open
Source world lives in GitHub.
And a lot of the commercial,
closed source software world
as well.
GitHub Repo Anatomy
In a minute, we’ll take a look at
a few of GitHub’s core features:
The directory tree, stats, pull
requests and diffs.
21
(Kinda) Free, not the only one
GitHub is always free for Open
Source projects, and paid for
private ones. Free and cheaper
alternatives such as BitBucket
and GitLab exist.
Pull Requests
Are at the center of
collaboration in Open Source
and in general, as a useful way
to discuss code changes.
Common workflows
Git allows for all kinds of
workflows, and a quick look at
GitHub projects can show
some examples.
DEMO TIME!
22
Thank you very much,
and good luck!
23
If you have any questions about this lecture,
don’t hesitate to reach out at:
▪ ReallyGood.co.il
▪ fb.me/ReallyGoodTeam
▪ @RonnyOrbach
Credits Special thanks to all the people who
made and released these awesome
resources for free.
24
▪ Presentation template by SlidesCarnival
▪ Photographs by Unsplash
▪ What is version control from Atlassian
▪ git & github icons from IconFinder

More Related Content

What's hot

[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructureRodrigo Stefani Domingues
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHubRick Umali
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow Sebin Benjamin
 
Gerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginGerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginLuca Milanesio
 
GitLab: Remote and Open (2018-07-16 @ The New Digital School's Business Of Te...
GitLab: Remote and Open (2018-07-16 @ The New Digital School's Business Of Te...GitLab: Remote and Open (2018-07-16 @ The New Digital School's Business Of Te...
GitLab: Remote and Open (2018-07-16 @ The New Digital School's Business Of Te...Pedro Moreira da Silva
 
Introduction to git and Github
Introduction to git and GithubIntroduction to git and Github
Introduction to git and GithubWycliff1
 
Gerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-deliveryGerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-deliveryLuca Milanesio
 
Gerrit Code Review Analytics
Gerrit Code Review AnalyticsGerrit Code Review Analytics
Gerrit Code Review AnalyticsLuca Milanesio
 
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014msohn
 
Speed up Continuous Delivery with BigData Analytics
Speed up Continuous Delivery with BigData AnalyticsSpeed up Continuous Delivery with BigData Analytics
Speed up Continuous Delivery with BigData AnalyticsLuca Milanesio
 
Jenkins plugin for Gerrit Code Review pipelines
Jenkins plugin for Gerrit Code Review pipelinesJenkins plugin for Gerrit Code Review pipelines
Jenkins plugin for Gerrit Code Review pipelinesLuca Milanesio
 
GerritHub.io - present, past, future
GerritHub.io - present, past, futureGerritHub.io - present, past, future
GerritHub.io - present, past, futureLuca Milanesio
 
Contributing to open source using Git
Contributing to open source using GitContributing to open source using Git
Contributing to open source using GitYan Vugenfirer
 
Awesome Git Workflow for Agencies and Teams
Awesome Git Workflow for Agencies and TeamsAwesome Git Workflow for Agencies and Teams
Awesome Git Workflow for Agencies and TeamsChris Reynolds
 

What's hot (20)

[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure
 
Git & git hub
Git & git hubGit & git hub
Git & git hub
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
Git Demo
Git DemoGit Demo
Git Demo
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow
 
Gerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginGerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub plugin
 
Git hub visualstudiocode
Git hub visualstudiocodeGit hub visualstudiocode
Git hub visualstudiocode
 
GitLab: Remote and Open (2018-07-16 @ The New Digital School's Business Of Te...
GitLab: Remote and Open (2018-07-16 @ The New Digital School's Business Of Te...GitLab: Remote and Open (2018-07-16 @ The New Digital School's Business Of Te...
GitLab: Remote and Open (2018-07-16 @ The New Digital School's Business Of Te...
 
Introduction to git and Github
Introduction to git and GithubIntroduction to git and Github
Introduction to git and Github
 
Gerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-deliveryGerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-delivery
 
Gerrit Code Review Analytics
Gerrit Code Review AnalyticsGerrit Code Review Analytics
Gerrit Code Review Analytics
 
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
 
Speed up Continuous Delivery with BigData Analytics
Speed up Continuous Delivery with BigData AnalyticsSpeed up Continuous Delivery with BigData Analytics
Speed up Continuous Delivery with BigData Analytics
 
GitHub
GitHubGitHub
GitHub
 
Open source
Open sourceOpen source
Open source
 
Github
GithubGithub
Github
 
Jenkins plugin for Gerrit Code Review pipelines
Jenkins plugin for Gerrit Code Review pipelinesJenkins plugin for Gerrit Code Review pipelines
Jenkins plugin for Gerrit Code Review pipelines
 
GerritHub.io - present, past, future
GerritHub.io - present, past, futureGerritHub.io - present, past, future
GerritHub.io - present, past, future
 
Contributing to open source using Git
Contributing to open source using GitContributing to open source using Git
Contributing to open source using Git
 
Awesome Git Workflow for Agencies and Teams
Awesome Git Workflow for Agencies and TeamsAwesome Git Workflow for Agencies and Teams
Awesome Git Workflow for Agencies and Teams
 

Similar to Source Control with Git & GitHub

Git Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfGit Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfuzair
 
Beginner Workshop for Student Developers - Tratech-presentation.pdf
Beginner Workshop for Student Developers - Tratech-presentation.pdfBeginner Workshop for Student Developers - Tratech-presentation.pdf
Beginner Workshop for Student Developers - Tratech-presentation.pdfGDSCKNUST
 
Difference between gitlab vs github vs bitbucket
Difference between gitlab vs github vs bitbucketDifference between gitlab vs github vs bitbucket
Difference between gitlab vs github vs bitbucketAcodez IT Solutions
 
Building a Better World with GitHub.
Building a Better World with GitHub.Building a Better World with GitHub.
Building a Better World with GitHub.Suvin Nimnaka
 
Github Case Study By Amil Ali
Github Case Study By Amil AliGithub Case Study By Amil Ali
Github Case Study By Amil AliAmilAli1
 
A crash course on git as version control system and GitHub
A crash course on git as version control system and GitHubA crash course on git as version control system and GitHub
A crash course on git as version control system and GitHubJerome Mberia
 
Github for Serious Business Professional
Github for Serious Business ProfessionalGithub for Serious Business Professional
Github for Serious Business Professionalzwheller
 
Bitcoin Development 2019 Starter Guide - No Skill | ProvenCrypto
Bitcoin Development 2019 Starter Guide - No Skill | ProvenCryptoBitcoin Development 2019 Starter Guide - No Skill | ProvenCrypto
Bitcoin Development 2019 Starter Guide - No Skill | ProvenCryptoOpti Network
 
La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...CloudNativeElSalvado
 
Git and Github.pptx
Git and Github.pptxGit and Github.pptx
Git and Github.pptxaymanessam16
 
GitHub Vs GitLab | What Are The Major Difference?
GitHub Vs GitLab | What Are The Major Difference?GitHub Vs GitLab | What Are The Major Difference?
GitHub Vs GitLab | What Are The Major Difference?GrapesTech Solutions
 
concordia hacktoberfest.pptx
concordia hacktoberfest.pptxconcordia hacktoberfest.pptx
concordia hacktoberfest.pptxAnkurVerma95745
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to GoSimon Hewitt
 

Similar to Source Control with Git & GitHub (20)

Git Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfGit Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdf
 
Beginner Workshop for Student Developers - Tratech-presentation.pdf
Beginner Workshop for Student Developers - Tratech-presentation.pdfBeginner Workshop for Student Developers - Tratech-presentation.pdf
Beginner Workshop for Student Developers - Tratech-presentation.pdf
 
Git Init
Git InitGit Init
Git Init
 
Difference between gitlab vs github vs bitbucket
Difference between gitlab vs github vs bitbucketDifference between gitlab vs github vs bitbucket
Difference between gitlab vs github vs bitbucket
 
Advance workshop on git
Advance workshop on gitAdvance workshop on git
Advance workshop on git
 
Building a Better World with GitHub.
Building a Better World with GitHub.Building a Better World with GitHub.
Building a Better World with GitHub.
 
Github Case Study By Amil Ali
Github Case Study By Amil AliGithub Case Study By Amil Ali
Github Case Study By Amil Ali
 
Git tech
Git techGit tech
Git tech
 
A crash course on git as version control system and GitHub
A crash course on git as version control system and GitHubA crash course on git as version control system and GitHub
A crash course on git as version control system and GitHub
 
What is github.
What is github.What is github.
What is github.
 
Github for Serious Business Professional
Github for Serious Business ProfessionalGithub for Serious Business Professional
Github for Serious Business Professional
 
Bitcoin Development 2019 Starter Guide - No Skill | ProvenCrypto
Bitcoin Development 2019 Starter Guide - No Skill | ProvenCryptoBitcoin Development 2019 Starter Guide - No Skill | ProvenCrypto
Bitcoin Development 2019 Starter Guide - No Skill | ProvenCrypto
 
La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...
 
Git and Github.pptx
Git and Github.pptxGit and Github.pptx
Git and Github.pptx
 
Git Basics
Git BasicsGit Basics
Git Basics
 
GitHub Vs GitLab | What Are The Major Difference?
GitHub Vs GitLab | What Are The Major Difference?GitHub Vs GitLab | What Are The Major Difference?
GitHub Vs GitLab | What Are The Major Difference?
 
concordia hacktoberfest.pptx
concordia hacktoberfest.pptxconcordia hacktoberfest.pptx
concordia hacktoberfest.pptx
 
Git step by step
Git step by stepGit step by step
Git step by step
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 
Git hub
Git hubGit hub
Git hub
 

Recently uploaded

Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

Source Control with Git & GitHub

  • 1. Source Control with Git & GitHub HIT, Advanced Programming Course Ronny Orbach, 13.6.17
  • 2. Hello! Nice to meet you 2 I’m Ronny, and I build web interfaces since 2001. I play the bass guitar (badly), lived around here for five years, and am a proud husband and father. Front End Developer & Co-Founder at Really Good. Talk to me: ▪ @RonnyOrbach ▪ fb.me/RonnyO
  • 3. We Are Really Good 3 We do high quality Front End Development for tech companies. Reach out at: ▪ ReallyGood.co.il ▪ team@reallygood.co.il ▪ fb.me/ReallyGoodTeam
  • 4. Today’s Agenda 1. Intro 2. Source Control 3. Git 4. GitHub 5. Live Demo 4 Technical, but I’m sure you’ll manage
  • 5. 1. INTRO Or “Tools? Who needs tools?!” 5
  • 6. 6 How much you want to keep on living after losing work because of FTP Shoot me now. Oh no, no, why?! Shit Happens
  • 7. SOURCE CONTROL Working together, in the cloud, and getting back safely 7
  • 8. About Source (or Version) Control Source Control systems are a category of software tools that help a software team manage changes to source code over time. Source control software keeps track of every modification to the code in a special kind of database. 8 Professional developers at Microsoft won’t settle for this archive on a shared folder, right? Windows 10.34.12 (release4 (FINAL Satya Approved2).zip We’re professionals too, so let’s talk about better approaches.
  • 9. Everyone need to track changes to all kinds of stuff. But in software, a misplaced comma can bring down any app, so smart tools are required. About Source Control Tracking Text (and Other) Changes Not a new problem. Books, Laws & Legal, Intelligence, all kinds of documents and content producers need solutions — Most use Locks, Track Changes or nothing at all. 9 Tracking Code Changes The concept of tracking code changes using special software was first introduced in 1972, but took hold of the software world decade by decade, booming in the 2000s with DVCS.
  • 11. Repositories and Commits Repositories Repositories are simply projects. We use them to track changes for big stuff, usually whole products, but don’t hesitate to create git repos for anything. Commits A commit is the most important part of tracking change - It’s a unit of change(s), as the developer committed it to Source Control, with the date and a title. Viewing the commit log should give a fairly good history of the project’s life, so you should take a few seconds to phrase useful commit messages such as “Fix price doubling error (bug #73)” instead of “fix”. 11 Trim video to 10 seconds | Ronny | 13/6 10:39
  • 12. Branches and Merges Branches We commit changes in a series, and the resulting graph can look something like a trunk: We can always “branch out” of master to work on something else in parallel: Merges We usually want to merge branches back in. Then our graphs may become closer to: 12
  • 13. 2. git Free & fast Distributed Version Control System 13
  • 14. 14 Git History This is Linus. And he won’t take this shit anymore.
  • 15. Git Principles 1. Speed 2. Simple Design 3. Strong support for non-linear development 4. Fully distributed 5. Able to handle large projects 15
  • 16. Git Screenshots - Command Line Interface (CLI) 16
  • 17. Git Screenshots - GUI Software (Tower, SourceTree, GitKraken) 17
  • 19. 3. github The heart of the Open Source world, hosting millions of git projects 19
  • 21. GitHub at a Glance Hosted GitHub hosts git repos, so we don’t need to set up servers. Really easy to get started. Industry Standard Practically all of the Open Source world lives in GitHub. And a lot of the commercial, closed source software world as well. GitHub Repo Anatomy In a minute, we’ll take a look at a few of GitHub’s core features: The directory tree, stats, pull requests and diffs. 21 (Kinda) Free, not the only one GitHub is always free for Open Source projects, and paid for private ones. Free and cheaper alternatives such as BitBucket and GitLab exist. Pull Requests Are at the center of collaboration in Open Source and in general, as a useful way to discuss code changes. Common workflows Git allows for all kinds of workflows, and a quick look at GitHub projects can show some examples.
  • 23. Thank you very much, and good luck! 23 If you have any questions about this lecture, don’t hesitate to reach out at: ▪ ReallyGood.co.il ▪ fb.me/ReallyGoodTeam ▪ @RonnyOrbach
  • 24. Credits Special thanks to all the people who made and released these awesome resources for free. 24 ▪ Presentation template by SlidesCarnival ▪ Photographs by Unsplash ▪ What is version control from Atlassian ▪ git & github icons from IconFinder