From 8a7dfa0972c83fd811a4296e7373574bea4a28d0 Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Sun, 19 Jul 2020 20:34:40 +0700 Subject: [usth/ICT2.7] Remove Udacity transcribes --- ...- Interview with John Britton - lang_en_vs5.srt | 435 --------------------- 1 file changed, 435 deletions(-) delete mode 100644 usth/ICT2.7/P1L4 Version Control Subtitles/2 - Interview with John Britton - lang_en_vs5.srt (limited to 'usth/ICT2.7/P1L4 Version Control Subtitles/2 - Interview with John Britton - lang_en_vs5.srt') diff --git a/usth/ICT2.7/P1L4 Version Control Subtitles/2 - Interview with John Britton - lang_en_vs5.srt b/usth/ICT2.7/P1L4 Version Control Subtitles/2 - Interview with John Britton - lang_en_vs5.srt deleted file mode 100644 index 999833f..0000000 --- a/usth/ICT2.7/P1L4 Version Control Subtitles/2 - Interview with John Britton - lang_en_vs5.srt +++ /dev/null @@ -1,435 +0,0 @@ -1 -00:00:00,170 --> 00:00:02,630 ->> And I thought that the best way to break the ice on version - -2 -00:00:02,630 --> 00:00:04,970 -control systems and Git and some other - -3 -00:00:04,970 --> 00:00:07,939 -related concepts was to interview John Britton who - -4 -00:00:07,939 --> 00:00:11,840 -works with GitHub. So let's go and see what John has to say about - -5 -00:00:11,840 --> 00:00:14,120 -Git, about version control systems in general, - -6 -00:00:14,120 --> 00:00:17,809 -and about GitHub. John is in Tapei, if I'm not wrong. - -7 -00:00:17,809 --> 00:00:18,610 ->> That's correct. - -8 -00:00:18,610 --> 00:00:20,320 ->> Okay so we're, you know we couldn't - -9 -00:00:20,320 --> 00:00:22,570 -go there so we're interviewing him remotely. And I - -10 -00:00:22,570 --> 00:00:25,490 -want, I just want to thank you so much and John for agreeing to talk to us. - -11 -00:00:25,490 --> 00:00:27,940 ->> Thank you very much for having me it was my pleasure. - -12 -00:00:27,940 --> 00:00:30,560 ->> And, I'm just going to ask, a few - -13 -00:00:30,560 --> 00:00:32,938 -general questions because John is an expert on, - -14 -00:00:32,938 --> 00:00:36,270 -Git and GitHub. John is a developer and - -15 -00:00:36,270 --> 00:00:38,550 -a community builder is active in both the - -16 -00:00:38,550 --> 00:00:42,200 -open source and the open education areas. And - -17 -00:00:42,200 --> 00:00:44,860 -as an educational liaison we have, is working - -18 -00:00:44,860 --> 00:00:47,580 -to improve Computer Science education by bringing the - -19 -00:00:47,580 --> 00:00:51,460 -principles of open source into the classroom. And - -20 -00:00:51,460 --> 00:00:53,160 -I'm going to start with an general question, - -21 -00:00:53,160 --> 00:00:55,320 -which is what is a version control system? - -22 -00:00:55,320 --> 00:00:57,960 ->> So, a version control system is - -23 -00:00:57,960 --> 00:01:00,360 -a tool that software developers use. Anybody - -24 -00:01:00,360 --> 00:01:02,560 -who's doing you know, working with digital - -25 -00:01:02,560 --> 00:01:06,540 -assets, digital projects can also use for - -26 -00:01:06,540 --> 00:01:11,320 -keeping track of, you know, revisions of your project, and when I say revisions, I - -27 -00:01:11,320 --> 00:01:16,850 -mean essentially snapshots of your project over time. So you can imagine doing - -28 -00:01:16,850 --> 00:01:19,720 -some work and then every so often, be it, every couple of - -29 -00:01:19,720 --> 00:01:23,799 -hours, every couple of days, saving a permanent snapshot of your project. - -30 -00:01:24,880 --> 00:01:26,650 ->> Why is this useful? I understand that - -31 -00:01:26,650 --> 00:01:28,720 -it is nice to take a snapshot of your - -32 -00:01:28,720 --> 00:01:30,070 -project, but what did you do with the - -33 -00:01:30,070 --> 00:01:33,420 -snapshot afterwards? I think the most immediately obvious benefit - -34 -00:01:33,420 --> 00:01:36,340 -to having snapshots of your project to keeping - -35 -00:01:36,340 --> 00:01:38,280 -revisions is that you can go back. If you - -36 -00:01:38,280 --> 00:01:40,190 -have ever worked on a project and got to - -37 -00:01:40,190 --> 00:01:41,940 -a point where you solved a bunch of your - -38 -00:01:41,940 --> 00:01:45,330 -problems, and there is just one more step to do. And - -39 -00:01:45,330 --> 00:01:47,640 -you start working on trying to solve that last step, and - -40 -00:01:47,640 --> 00:01:51,350 -you break things, you make it worse then it was an - -41 -00:01:51,350 --> 00:01:54,420 -hour ago. At that point its easier to just go back - -42 -00:01:54,420 --> 00:01:56,780 -to what you had then trying to figure out what you - -43 -00:01:56,780 --> 00:01:59,320 -broke. So you can always go back in time, and the - -44 -00:01:59,320 --> 00:02:02,660 -other big one is being able to collaborate with multiple people, - -45 -00:02:02,660 --> 00:02:07,450 -so its pretty seldom these days that you. Work on a production - -46 -00:02:07,450 --> 00:02:09,860 -totally on your own. It's most common to work in, you - -47 -00:02:09,860 --> 00:02:12,993 -know, in teams and small groups. And so, using a revision - -48 -00:02:12,993 --> 00:02:16,340 -control system allows you to collaborate with other people. And make - -49 -00:02:16,340 --> 00:02:19,060 -sure that you don't step on each other's toes as you're working. - -50 -00:02:19,060 --> 00:02:21,310 ->> Alright, that's great, because those are exactly some of the - -51 -00:02:21,310 --> 00:02:25,250 -topics that we're going to cover in the lesson. And so since we're - -52 -00:02:25,250 --> 00:02:28,470 -going to talk about the specifics of version control system which is - -53 -00:02:28,470 --> 00:02:32,660 -Git and you're definitely an expert in, in Git. So what would - -54 -00:02:32,660 --> 00:02:36,510 -you say is specifically special about Git? What characterizes it - -55 -00:02:36,510 --> 00:02:39,940 -and how does it compare to other version control systems. - -56 -00:02:39,940 --> 00:02:43,140 ->> So if any of you have used version control systems before, you - -57 -00:02:43,140 --> 00:02:47,850 -may have heard of something like subversion, CVS, or maybe a commercial solution - -58 -00:02:47,850 --> 00:02:53,550 -like ProForce. I think the main important characteristics of Git are first that - -59 -00:02:53,550 --> 00:02:56,050 -it's open source. And the second, - -60 -00:02:56,050 --> 00:02:59,030 -that it's a distributed version control system. - -61 -00:02:59,030 --> 00:03:00,430 -So what that means, the distributed version - -62 -00:03:00,430 --> 00:03:04,260 -control system is essentially a system for tracking - -63 -00:03:04,260 --> 00:03:07,700 -revisions of your software that doesn't have any - -64 -00:03:07,700 --> 00:03:11,730 -central repository. So the biggest characteristic is that - -65 -00:03:11,730 --> 00:03:14,520 -I can do my work and you can also work on the same project at - -66 -00:03:14,520 --> 00:03:16,900 -the same time without communicating with each other - -67 -00:03:16,900 --> 00:03:19,650 -and without communicating to a central system. - -68 -00:03:19,650 --> 00:03:24,190 ->> Okay, great. And so now that we saw what Git is, what is - -69 -00:03:24,190 --> 00:03:26,050 -GitHub and how does it fit into - -70 -00:03:26,050 --> 00:03:29,320 -this picture of the distributed, revision control system? - -71 -00:03:29,320 --> 00:03:34,800 ->> So GitHub is, the world's largest code host, and we essentially have a - -72 -00:03:34,800 --> 00:03:36,940 -website where you can collaborate with people - -73 -00:03:36,940 --> 00:03:39,950 -when you're writing code. There's two ways you - -74 -00:03:39,950 --> 00:03:43,650 -can use GitHub. You can use it publicly for open source and you can use - -75 -00:03:43,650 --> 00:03:49,660 -it in private within your team, or your company, or within your class. And, Git - -76 -00:03:49,660 --> 00:03:53,960 -Hub started out just as a way to host your Git repositories. But it's - -77 -00:03:53,960 --> 00:03:56,000 -actually grown into quite a bit more. It's - -78 -00:03:56,000 --> 00:03:59,820 -an entire collaboration system around your code. - -79 -00:03:59,820 --> 00:04:00,580 ->> How many users do you have? - -80 -00:04:00,580 --> 00:04:03,620 ->> I would say that we're approaching five million. - -81 -00:04:03,620 --> 00:04:05,570 -I don't know the exact number. We're definitely more - -82 -00:04:05,570 --> 00:04:08,080 -than four million right now. But yeah, I'd say - -83 -00:04:08,080 --> 00:04:10,330 -somewhere, somewhere close to between four and five million. - -84 -00:04:10,330 --> 00:04:14,750 ->> So that's a lot space I'd guess. Terabytes of disk - -85 -00:04:14,750 --> 00:04:15,840 -space, I would imagine. - -86 -00:04:15,840 --> 00:04:19,170 ->> There are a lot of GIT repositories on, on our servers. - -87 -00:04:19,170 --> 00:04:21,180 ->> Something else you want to say? I - -88 -00:04:21,180 --> 00:04:23,920 -guess that the when taking about GitHub there's one - -89 -00:04:23,920 --> 00:04:26,110 -thing that you kind of can't leave out and - -90 -00:04:26,110 --> 00:04:28,670 -that's that's a feature that's called a pull request. - -91 -00:04:28,670 --> 00:04:31,090 -So when you're using GitHub, you can share - -92 -00:04:31,090 --> 00:04:34,940 -your Git repository, do some work, and actually do - -93 -00:04:34,940 --> 00:04:37,880 -do a code review. Of proposed changes which - -94 -00:04:37,880 --> 00:04:39,770 -is what we call a pull request on github.com. - -95 -00:04:39,770 --> 00:04:42,790 -Essentially what it lets you do is have a discussion - -96 -00:04:42,790 --> 00:04:46,320 -about a set of proposed changes and leave feedback in - -97 -00:04:46,320 --> 00:04:48,870 -line with the code. You could say for example, this - -98 -00:04:48,870 --> 00:04:51,670 -method needs to be re-factored or I think I found if - -99 -00:04:51,670 --> 00:04:54,830 -off by one error here, just different kinds of feedback - -100 -00:04:54,830 --> 00:04:59,120 -so that before you totally integrate some proposed changes. You have, - -101 -00:04:59,120 --> 00:05:01,180 -kind of a conversation about what your code. And I - -102 -00:05:01,180 --> 00:05:03,050 -think that's really valuable when you are working in a team. - -103 -00:05:03,050 --> 00:05:05,510 ->> Thank you, John, that was very informative and - -104 -00:05:05,510 --> 00:05:07,440 -thanks again for taking the time to talk to us. - -105 -00:05:07,440 --> 00:05:10,160 ->> No problem, thanks for having me. I'll talk to you soon. - -106 -00:05:10,160 --> 00:05:13,990 ->> Let's thank again John for enlightening us - -107 -00:05:13,990 --> 00:05:17,350 -on some aspects of version control systems, Git and - -108 -00:05:17,350 --> 00:05:19,410 -GitHub. And now, let's go over some of the - -109 -00:05:19,410 --> 00:05:21,650 -topics that we discussed with John to recap them. -- cgit 1.4.1