A lecture I gave at the Holon Institute of Technology, at the end of Advanced Programming course (third year) - 13/6/2017.
Download for higher quality slides.
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
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
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