WEBVTT
00:00:00.359 --> 00:00:02.624
Git is an excellent,
and industry-recognized
00:00:02.624 --> 00:00:04.229
version-control system.
00:00:04.229 --> 00:00:07.536
GitHub.com, the website,
makes that accessible to everyone.
00:00:07.636 --> 00:00:10.178
♪ (whimsical theme music throughout) ♪
00:00:13.163 --> 00:00:16.281
It's easy to think that you could
host your Git repositories anywhere.
00:00:16.596 --> 00:00:17.644
There's plenty of services,
00:00:17.644 --> 00:00:19.636
and plenty of tools for you to host them,
00:00:19.636 --> 00:00:21.696
even within your own corporate firewall.
00:00:21.696 --> 00:00:24.853
But there's more than
just hosting your code.
00:00:25.345 --> 00:00:27.297
We're talking about changing software,
00:00:27.297 --> 00:00:30.955
and that includes all types,
and all facets of collaboration:
00:00:31.397 --> 00:00:35.467
filing issues, organizing repositories
so they're easy to find,
00:00:35.787 --> 00:00:38.557
being able to mention
the contributors by user name,
00:00:38.860 --> 00:00:42.488
and the ability to have control
over the inbound changes
00:00:42.488 --> 00:00:44.866
through the concept
that we call pull requests.
00:00:45.259 --> 00:00:48.167
All of these are facilitated
by GitHub.com,
00:00:48.167 --> 00:00:52.050
a collaboration platform
that also hosts Git repositories.
00:00:54.752 --> 00:00:56.333
Your first interaction with GitHub
00:00:56.333 --> 00:00:58.477
is likely through the Explore page,
00:00:58.477 --> 00:01:00.693
finding a bit of open source
that solves a need
00:01:00.693 --> 00:01:02.247
in your current application.
00:01:02.407 --> 00:01:05.598
But soon you'll find
you want to file an issue,
00:01:05.598 --> 00:01:07.867
or perhaps even
submit a change to a project
00:01:07.867 --> 00:01:10.427
that improves it, or corrects a defect.
00:01:10.830 --> 00:01:12.987
Those are all things
that are made possible
00:01:12.987 --> 00:01:15.154
by the GitHub platform.
00:01:15.556 --> 00:01:17.372
You'll find that we have solutions,
00:01:17.372 --> 00:01:19.697
such as an integrated defect tracker,
00:01:19.697 --> 00:01:21.745
and the process of pull requests,
00:01:21.745 --> 00:01:24.064
to which code change can get reviewed,
00:01:24.359 --> 00:01:27.705
commented on, refined,
and then finally accepted,
00:01:28.336 --> 00:01:30.553
even for people
that are not core contributors
00:01:30.553 --> 00:01:32.218
to the project itself.
00:01:32.218 --> 00:01:35.890
GitHub adds further innovations
that allow Git to go places
00:01:35.890 --> 00:01:38.138
that it wouldn't ordinarily
have been welcome.
00:01:38.138 --> 00:01:42.088
For example, we have an SvnBridge
that allows any Git repository
00:01:42.088 --> 00:01:44.779
to be treated as a subversion repository.
00:01:44.779 --> 00:01:46.904
This often facilitates a slow migration
00:01:46.904 --> 00:01:49.595
of continuous integration infrastructure,
00:01:49.595 --> 00:01:51.496
build scripts, or other automation
00:01:51.496 --> 00:01:53.534
that you've built into
your release process.
00:01:56.294 --> 00:01:59.179
GitHub also has the concept
of the web flow.
00:01:59.458 --> 00:02:02.617
This brings most of the GitHub operations
to the web browser.
00:02:02.967 --> 00:02:05.333
No cloning the repository to disk,
00:02:05.333 --> 00:02:08.112
no loading of Git software
on your local machine,
00:02:08.112 --> 00:02:10.114
especially if it's a shared terminal,
00:02:10.114 --> 00:02:12.894
just an editor, with syntax highlighting,
00:02:12.894 --> 00:02:14.261
directly in the browser,
00:02:14.261 --> 00:02:16.610
for any of the files in a repository.
00:02:16.610 --> 00:02:21.353
Rename them, move them,
delete them, add brand new files,
00:02:21.353 --> 00:02:23.787
change all kinds of things
about the project,
00:02:23.787 --> 00:02:25.595
directly from the browser.
00:02:26.013 --> 00:02:29.017
This means that Git is far more accessible
00:02:29.017 --> 00:02:32.137
to the members of your organization,
open source project,
00:02:32.137 --> 00:02:36.309
or company, than would be if
they required the desktop tools
00:02:36.309 --> 00:02:38.237
to interact with this repository.
00:02:40.838 --> 00:02:42.455
As documentation is recognized
00:02:42.455 --> 00:02:45.535
to be a critical part
of every software project,
00:02:45.535 --> 00:02:49.096
having support for Prose,
both in the repositories
00:02:49.096 --> 00:02:52.348
and in the surrounding commentary,
is extremely important.
00:02:53.019 --> 00:02:55.565
GitHub supports GitHub-flavored markdown,
00:02:55.565 --> 00:02:58.569
which is an improvement
on the core markdown language
00:02:58.569 --> 00:03:01.963
in issues, pull requests,
and even in documents
00:03:01.963 --> 00:03:05.615
that are contributed to
the core of the repository itself.
00:03:05.909 --> 00:03:09.361
Simply give them a .md extension,
put them in the repository
00:03:09.361 --> 00:03:10.964
as you would any other file,
00:03:10.964 --> 00:03:13.022
and you'll see them
rendered, with changes,
00:03:13.022 --> 00:03:15.594
as you would expect
from a document editor.
00:03:15.594 --> 00:03:17.676
Lines are struck out that are removed,
00:03:17.676 --> 00:03:21.312
lines appropriately show
where they've been relocated to,
00:03:21.312 --> 00:03:24.525
and lines that are put in as additions
are shown in green.
00:03:29.250 --> 00:03:32.321
It doesn't end with just
code and documents, though.
00:03:32.321 --> 00:03:34.562
We're adding support for things like
00:03:34.562 --> 00:03:36.891
3D models, an STL file format,
00:03:36.891 --> 00:03:38.889
and GeoJSON, for maps.
00:03:39.029 --> 00:03:42.817
Those render in the browser,
meaning that tools you'd ordinarily
00:03:42.817 --> 00:03:46.079
have to purchase and download
to your local machine,
00:03:46.079 --> 00:03:49.268
complexly set up, configure and install,
00:03:49.268 --> 00:03:52.027
now just render directly in the browser,
00:03:52.027 --> 00:03:54.225
making those files all the more accessible
00:03:54.225 --> 00:03:56.646
for anyone visiting that repository.
00:03:56.835 --> 00:03:58.578
GitHub is the unifying platform
00:03:58.578 --> 00:04:00.773
that brings together a web flow
00:04:00.773 --> 00:04:03.230
that would ordinarily
require desktop tools,
00:04:03.230 --> 00:04:04.736
both for working with Git,
00:04:04.736 --> 00:04:09.750
as well as rendering these complex
markdown, STL, and GeoJSON files
00:04:09.750 --> 00:04:12.521
into an online experience
that's easy to use,
00:04:12.521 --> 00:04:15.195
just moments after signing up
for an account.
00:04:15.195 --> 00:04:18.537
It means that collaboration
happens more frequently,
00:04:18.537 --> 00:04:19.980
with less friction,
00:04:19.980 --> 00:04:21.720
and more contributions get made
00:04:21.720 --> 00:04:24.354
to both open-
and closed-source projects
00:04:24.354 --> 00:04:25.870
because of this product.
00:04:27.226 --> 00:04:29.781
Thanks for watching this episode
of Git and GitHub Foundations
00:04:29.781 --> 00:04:32.024
on the GitHub.com platform.
00:04:32.328 --> 00:04:34.691
Be sure to subscribe
to our episodes over here.
00:04:34.691 --> 00:04:37.869
If you have a followup question,
ask that down below.
00:04:37.869 --> 00:04:39.441
We also appreciate comments.
00:04:39.441 --> 00:04:41.433
And if you'd like some related videos,
00:04:41.433 --> 00:04:42.943
those are all right down here,
00:04:42.943 --> 00:04:45.269
including the use of pull requests.