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.