1
00:00:00,359 --> 00:00:02,624
Git is an excellent,
and industry-recognized
2
00:00:02,624 --> 00:00:04,229
version-control system.
3
00:00:04,229 --> 00:00:07,536
GitHub.com, the website,
makes that accessible to everyone.
4
00:00:07,636 --> 00:00:10,178
♪ (whimsical theme music throughout) ♪
5
00:00:13,163 --> 00:00:16,281
It's easy to think that you could
host your Git repositories anywhere.
6
00:00:16,536 --> 00:00:17,644
There's plenty of services,
7
00:00:17,644 --> 00:00:19,636
and plenty of tools for you to host them,
8
00:00:19,636 --> 00:00:21,696
even within your own corporate firewall.
9
00:00:21,696 --> 00:00:24,853
But there's more than
just hosting your code.
10
00:00:25,345 --> 00:00:27,297
We're talking about changing software,
11
00:00:27,297 --> 00:00:30,955
and that includes all types,
and all facets of collaboration:
12
00:00:31,397 --> 00:00:35,467
filing issues, organizing repositories
so they're easy to find,
13
00:00:35,787 --> 00:00:38,557
being able to mention
the contributors by user name,
14
00:00:38,860 --> 00:00:42,488
and the ability to have control
over the inbound changes
15
00:00:42,488 --> 00:00:44,866
through the concept
that we call pull requests.
16
00:00:45,259 --> 00:00:48,167
All of these are facilitated
by GitHub.com,
17
00:00:48,167 --> 00:00:52,050
a collaboration platform
that also hosts Git repositories.
18
00:00:54,752 --> 00:00:56,333
Your first interaction with GitHub
19
00:00:56,333 --> 00:00:58,477
is likely through the Explore page,
20
00:00:58,477 --> 00:01:00,693
finding a bit of open source
that solves a need
21
00:01:00,693 --> 00:01:02,247
in your current application.
22
00:01:02,407 --> 00:01:05,598
But soon you'll find
you want to file an issue,
23
00:01:05,598 --> 00:01:07,867
or perhaps even
submit a change to a project
24
00:01:07,867 --> 00:01:10,427
that improves it, or corrects a defect.
25
00:01:10,830 --> 00:01:13,267
Those are all things
that are made possible
26
00:01:13,267 --> 00:01:15,154
by the GitHub platform.
27
00:01:15,556 --> 00:01:17,372
You'll find that we have solutions,
28
00:01:17,372 --> 00:01:19,697
such as an integrated defect tracker,
29
00:01:19,697 --> 00:01:21,745
and the process of pull requests,
30
00:01:21,745 --> 00:01:24,064
to which code change can get reviewed,
31
00:01:24,359 --> 00:01:27,705
commented on, refined,
and then finally accepted,
32
00:01:28,336 --> 00:01:30,553
even for people
that are not core contributors
33
00:01:30,553 --> 00:01:32,218
to the project itself.
34
00:01:32,218 --> 00:01:35,890
GitHub adds further innovations
that allow Git to go places
35
00:01:35,890 --> 00:01:38,138
that it wouldn't ordinarily
have been welcome.
36
00:01:38,138 --> 00:01:42,088
For example, we have an SvnBridge
that allows any Git repository
37
00:01:42,088 --> 00:01:44,779
to be treated as a subversion repository.
38
00:01:44,779 --> 00:01:46,904
This often facilitates a slow migration
39
00:01:46,904 --> 00:01:49,595
of continuous integration infrastructure,
40
00:01:49,595 --> 00:01:51,496
build scripts, or other automation
41
00:01:51,496 --> 00:01:53,534
that you've built into
your release process.
42
00:01:56,294 --> 00:01:59,179
GitHub also has the concept
of the web flow.
43
00:01:59,458 --> 00:02:02,617
This brings most of the Git operations
to the web browser.
44
00:02:02,967 --> 00:02:05,109
No cloning the repository to disk,
45
00:02:05,333 --> 00:02:08,112
no loading of Git software
on your local machine,
46
00:02:08,112 --> 00:02:09,967
especially if it's a shared terminal,
47
00:02:10,114 --> 00:02:12,894
just an editor, with syntax highlighting,
48
00:02:12,894 --> 00:02:14,261
directly in the browser,
49
00:02:14,261 --> 00:02:16,610
for any of the files in a repository.
50
00:02:16,610 --> 00:02:21,353
Rename them, move them,
delete them, add brand new files,
51
00:02:21,353 --> 00:02:23,787
change all kinds of things
about the project,
52
00:02:23,787 --> 00:02:25,595
directly from the browser.
53
00:02:26,013 --> 00:02:29,017
This means that Git is far more accessible
54
00:02:29,017 --> 00:02:32,137
to the members of your organization,
open source project,
55
00:02:32,137 --> 00:02:36,309
or company, than would be if
they required the desktop tools
56
00:02:36,309 --> 00:02:38,237
to interact with this repository.
57
00:02:40,838 --> 00:02:42,455
As documentation is recognized
58
00:02:42,455 --> 00:02:45,535
to be a critical part
of every software project,
59
00:02:45,535 --> 00:02:49,096
having support for prose,
both in the repositories
60
00:02:49,096 --> 00:02:52,348
and in the surrounding commentary,
is extremely important.
61
00:02:53,019 --> 00:02:55,565
GitHub supports GitHub-flavored markdown,
62
00:02:55,565 --> 00:02:58,569
which is an improvement
on the core markdown language
63
00:02:58,569 --> 00:03:01,963
in issues, pull requests,
and even in documents
64
00:03:01,963 --> 00:03:05,615
that are contributed to
the core of the repository itself.
65
00:03:05,909 --> 00:03:09,336
Simply give them a .md extension,
put them in the repository
66
00:03:09,336 --> 00:03:10,964
as you would any other file,
67
00:03:10,964 --> 00:03:13,022
and you'll see them
rendered, with changes,
68
00:03:13,022 --> 00:03:15,594
as you would expect
from a document editor.
69
00:03:15,764 --> 00:03:18,006
Lines are struck out that are removed,
70
00:03:18,006 --> 00:03:21,193
lines appropriately show
where they've been relocated to,
71
00:03:21,193 --> 00:03:24,525
and lines that are put in as additions
are shown in green.
72
00:03:29,250 --> 00:03:32,133
It doesn't end with just
code and documents, though.
73
00:03:32,465 --> 00:03:34,562
We're adding support for things like
74
00:03:34,562 --> 00:03:36,891
3D models, an STL file format,
75
00:03:36,891 --> 00:03:38,889
and GeoJSON, for maps.
76
00:03:39,029 --> 00:03:42,817
Those render in the browser,
meaning that tools you'd ordinarily
77
00:03:42,817 --> 00:03:46,079
have to purchase and download
to your local machine,
78
00:03:46,079 --> 00:03:49,268
complexly set up, configure and install,
79
00:03:49,268 --> 00:03:52,027
now just render directly in the browser,
80
00:03:52,027 --> 00:03:54,225
making those files all the more accessible
81
00:03:54,225 --> 00:03:56,646
for anyone visiting that repository.
82
00:03:56,835 --> 00:03:58,578
GitHub is the unifying platform
83
00:03:58,578 --> 00:04:00,773
that brings together a web flow
84
00:04:00,773 --> 00:04:03,230
that would ordinarily
require desktop tools,
85
00:04:03,230 --> 00:04:04,736
both for working with Git,
86
00:04:04,736 --> 00:04:09,750
as well as rendering these complex
markdown, STL, and GeoJSON files
87
00:04:09,750 --> 00:04:12,521
into an online experience
that's easy to use,
88
00:04:12,521 --> 00:04:14,975
just moments after signing up
for an account.
89
00:04:15,195 --> 00:04:18,317
It means that collaboration
happens more frequently,
90
00:04:18,537 --> 00:04:19,823
with less friction,
91
00:04:19,980 --> 00:04:21,720
and more contributions get made
92
00:04:21,720 --> 00:04:24,354
to both open-
and closed-source projects
93
00:04:24,354 --> 00:04:25,870
because of this product.
94
00:04:27,226 --> 00:04:29,781
Thanks for watching this episode
of Git and GitHub Foundations
95
00:04:29,781 --> 00:04:32,024
on the GitHub.com platform.
96
00:04:32,328 --> 00:04:34,691
Be sure to subscribe
to our episodes over here.
97
00:04:34,691 --> 00:04:37,869
If you have a followup question,
ask that down below.
98
00:04:37,869 --> 00:04:39,441
We also appreciate comments.
99
00:04:39,441 --> 00:04:41,433
And if you'd like some related videos,
100
00:04:41,433 --> 00:04:42,943
those are all right down here,
101
00:04:42,943 --> 00:04:45,269
including the use of pull requests.