Class 24: Git and Github for Beginners #

Introduction

Good morning, good afternoon, good evening, no matter where you're coming from, hope you all are doing well, welcome back to the best week ever. We're continuing it folks tonight our lovely class is sponsored by Microsoft Azure and they're coming through big for us coming through big now Microsoft has been a longtime sponsor of the stream the very first time we did this get in github class they came through and they sponsored it for us well guess what they're coming back they're doing it again they're coming back with some swag They're coming back with us, having the ability to raffle off some amazing stuff. So we're going to have a lot of fun tonight. We're going to learn the basics of Git and GitHub from an actual beginner standpoint. I feel like there's a lot of stuff out there when it comes to Git and GitHub that if it's your first time dabbling in it, it can be really overwhelming, cause a lot of stress. We're going to show how Git can be a tool that you can use every single day. It's going to make your life a lot easier that I think actually removes some of the fear of trying out new code, and so we're gonna have some fun. We're also gonna learn a lot of cool stuff, and a huge, huge, huge thank you to Microsoft Azure for sponsoring this stream. Woo! Get in here, folks. It's gonna be a good one. Bangers only. So for folks that are new around these parts, specifically since this class will be shared outside of our 100 devs community, My name is Leon, I am the managing director of engineering for a nonprofit called Resilient Coders. It's my job to help folks get jobs as software engineers and help them get the skills that they need to become software engineers. And what you are watching right now is 100 Devs, a free 30 week software engineering bootcamp that we run on Tuesday, Thursdays, Sundays, and during the best week ever, every single day of this week.

And the goal is to take you from maybe never having touched code before having everything that you need to be employed We got a lot of folks showing out already a thank you so much for everybody being here Thank you so much to the all the gifted subs and things like that so far Rufio with the raid 88 folks coming in through you're doing some code wars love to see it newest member of the stream team folks So we were sitting at 700 people yesterday in that stream going through some code wars and they were doing some code wars today right before the stream. Thank you for the raid. We had some gifted subs throughout. Hey, thank you for the five gifted subs. Global crisis, thank you for the five gifted subs. Thank you all for being here. So free software engineering bootcamp. You can go from never having touched code before to all the way to employed. And the beautiful thing is right now is the best week ever and the reason why it is the best week ever is because we started 100 devs with the goal of getting 100 folks software engineering jobs during the pandemic and we blew through it. We're way past our 100 jobs now and so this week has been a celebration and Microsoft has come back to sponsor making this even more the best week ever. So tonight we're going to, well, at least I'm gonna shoot my shot. I feel like if you're watching this, maybe on Microsoft's channel, hey, indifferent goes, thank you for the 10 gifted subs. Thank you for being here, I appreciate you. If you're here and you're not currently part of 100 devs, I would encourage you to come check us out, come hang out with us, come learn how to code. But if you walk away with nothing, I'm gonna shoot my shot.

I want you to learn how to learn. And so we're gonna start off this stream, not with Git, not with the terminal, not with GitHub, but with learning how to learn. It's something that's changed my life, that's changed the lives of a lot of my students. And so I want that same thing for you. So we're gonna talk about how to learn. So if you're starting your coding journey and you're learning Git as part of that new part of your coding journey, please, if you only listen to two things I say tonight, one, make sure you have a GitHub account, and then two, make sure you learn how to learn. and it will really honestly change your life when it comes to learning how to code. Then we're gonna break down what the heck is this terminal thing? When first people start hearing about the terminal, it's weird, you try and open it, maybe you have a terminal already on your computer and it doesn't make sense, it's just text, it's blinking, what is going on? We're gonna talk about all of that. We are gonna learn the basics of Git and then we're gonna show how to use GitHub along with Git to do some really cool stuff. We got a lot of fun though, mixed in between. For every single thing we learn, once we start to feel like we're pushing a little bit, things are getting a little hard, we're gonna stop with a raffle. So every hard concept we learn, we end up with a raffle. And we got a lot of cool stuff to give away.

Microsoft has come through with eight sets of swag. And so that swag that Microsoft has provided is for folks that are in the US, but I am matching that swag So you get a learn with Leon swag pack that is open to anyone else in the world. And I will ship it anywhere. And I mean anywhere. We sent some merch last year to some far away places. And some of it got there, some of it got returned, but we'll shoot our shot, we'll try. I don't care where you are, we'll put it in the mail, we'll cross our fingers and hopefully it'll get there. So we got 16 swag raffles to get through, which is wild. and then we're also, I don't know if I told you, I mean, we mentioned it, but we got two laptops to raffle. One will be raffled tonight at the end, and one will be raffled next Tuesday, which will be our best week ever last class. So one laptop tonight, one laptop on Tuesday. If you wanna be entered into these raffles, all you have to do is be here on stream. I will show you how to do it when the time comes and then we'll talk a little bit more about the laptop raffles as we get through it, but Folks hold on You got it You got to see it. It's beautiful. You got to see this laptop folks.

We're talking about the surface laptop Go, I don't know if you've seen this before but this is a beautiful beautiful laptop sleek all day battery life Lightweight Beautiful colors, runs all your favorite apps. Look at it, just look at it. Microsoft outdid themselves. And so we're giving one of these away tonight and then another one on Tuesday. Thank you to Microsoft for making all of this possible. Alrighty, so we always like to start off with some questions and I have a question for everyone that's here tonight. I know we pulled in some folks that are not normally part of the 100 devs crew. But I have a question for you all. Have you all ever used a terminal before? You use the terminal, say yes. If you haven't used a terminal, say no. I want to say yes or no in the chat for me. Some folks did the homework, so there should be a lot of yeses now. Maybe if I asked this a week ago, it would have been no. But we got a lot of yeses.

We got some new folks with the nose. That's all right. Laird Cake, hey, thank you for the five gifted subs. Appreciate you for being here. Thank you. All right, all right, I see y'all. We got a good mix here. We got a good mix. A lot of yeses, a few nos. And so what I'm gonna say from the very beginning is that this class is for folks that have never used the terminal. You don't even know what the heck I'm talking about. That's okay. It's for folks that thought I've been saying get G-E-T this whole time and not G-I-T this whole time. So if you're interested in learning about the terminal, you're interested in learning about Git, and you want to use these tools to aid your software engineering journey, this class is for you. We're starting all the way from the very, very beginning.

We're gonna just cover the basics tonight. If you get stuck, if things don't make sense, definitely ask questions here in chat, but we also have office hours every Saturday. This specific Saturday coming up, today is March 31st in the year 2022. This Sunday we'll be having office hours, but we have office hours every Sunday at 1 p.m. Eastern time. So tonight, don't stress about having to have everything set up and perfectly running. If you can't get things set up and running, it's okay, just pay attention to the commands, understand, ask good questions, and then anything that doesn't make sense we'll cover in office hours as well. I'm gonna ask for the folks that are here if you can go ahead and check in for me. If you need the check-in link, you can do exclamation point check-in here in chat. It'll take you to the tweet. Microsoft, we wanna show them some love on Twitter, right? Let's show Microsoft some love on Twitter. They came through, they put up all this swag for us. Let's show them a little love on Twitter. let them see the fruit of their support of new developers in tech.

All right. As our continuation of the best week ever goes on, we had our first stream of the best week ever on Tuesday. Then we had Rufio's first stream as part of the stream team yesterday. 700 people hanging out doing some code wars. I saw 88 folks in the raid. That's wild. That's a wild Rufio Rufio Rufio tonight. We have the sponsored stream tomorrow, Friday, 6 p.m. Eastern time on discord. We have our first Friday with friends and we have an amazing guest. It's someone that's been a longtime supporter of the hundred devs community. It's someone that is up in our discord answering questions that has had an amazing journey of their development career as well. So we'll announce the the first Friday with friends We'll announce it later We're not gonna answer right now. We'll announce it. Not a little bit later.

We're gonna have a little bit later But I trust me. It's not something you want to miss these Friday with friends sessions We're gonna put a lot of effort into them to make sure that you learn and pick up some really amazing tips from folks That are already in the field that have gone through a similar Journey, so if you want to hear from folks that are crushing it in the game, but we're just where you were just a few years ago. Come on through Friday with friends. First one tomorrow, 6 PM on discord. It'll be a discord event, kind of like similar to a Twitter space, but on discord. Alrighty. Since Microsoft Azure is sponsoring, since Microsoft Azure is sponsoring, they've asked us to agree to their code of conduct. So they have some rules for their virtual events. Those rules are not any really different than our 100 devs rules. So if you've been here, you've been a part of 100 devs, you're following the same rules. If you want to check out their rules though, you can do !githubcoc to get their code of conduct as well. That link will go up in chat. All it is is be excellent to each other and let's have a good time. You'll also notice that when I go to this lovely stream, Chat's not there, and that's because this will be shared across a whole bunch of other channels that's not our own and things like our lovely, lovely emotes don't make sense. And we don't want any of you wiling out.

So that chat will be missing for tonight. It'll come back on Sunday, but as a general rule, be excellent to each other. We don't really have a problem with that here at 100 devs, but just wanted to make sure that you were aware of what was going on. All righty now before I shoot my shot if you're watching this and you're not part of a hundred devs and maybe you are Interested in a career in tech maybe as a software engineer because you've heard that software engineers make good money Maybe you heard that it's been one of the happiest careers for the past five years running Maybe you heard that you don't need to agree a degree You can learn it for free and heck there might even be a slide in your office. All these things are true I've been teaching folks how to code for the past 10 years For the past five years. I've really focused on helping folks specifically people of color get jobs in Software engineering and it is right now the best time I have ever seen For folks to get their first role as a software engineer Now, there's a lot of kind of reasons why that's happening right now, but the beauty of it is that we can take advantage of that. And you can go from zero skills to employed as a software engineer without paying any money to learn these skills. You can do it here with us for free, or there are so many other amazing resources too, that you could use free code camp, the Odin project. You want a live, wonderful community. We have a hundred devs with us as well. But I want you to know that it's possible that we've helped 100 plus folks as part of the 100 devs unlock this career to have this happy career, to have this life changing event happen. And you can do it, you can do it for free. But most folks don't realize how long they have to go through what we like to call the trough of sorrow before they make it to that wonderful opportunity. And this is why we still have a huge demand for software engineers that has not been filled. It's why a lot of folks that start on this journey might not make it through.

And it is a process that takes a long time. I think a lot of folks come into the idea of becoming a software engineer and they see the, they see all the ads on YouTube saying 12 weeks, that's, that's no, no, it takes a while. It takes a while to, to, to, to, to tread through the muck and to go through this trough of sorrow, your, your wits will be tested. Your frustration will be tested. Yeah. You will doubt yourself maybe this whole way through. And this trough of sorrow is what stops a lot of folks through making it to that promised land at the end. So there are three things that I have seen that have helped my students make it through this trough of sorrow to go from I really want to be a software engineer to employed as a software engineer to as that that wearing off of the the the initial rush of wanting to learn once that's fully worn off you're deep in JavaScript and things aren't making sense it's these three things that have held true for most of my students to make it through. They've learned to manage their frustration. They've learned to be consistent and they've learned how to take care of themselves. There was a study that was done that was asking folks, when do we lose the ability to be fluent in a language? Like what age and what they found, what they found was that it wasn't really that as we got older, we lost the ability to be fluent in a language. It's just that as we got older, more things were in our control. And once more things were in our control, we actually get more and more frustrated with a learning journey. So if you want to learn how to code, the first thing you have to realize is that engineers solve problems that may not have been solved before, but every day is a challenge.

Every day is waking up, rolling out of bed, putting your fingers on the keyboard and trying to do something that at first will probably be very frustrating because there might not be a clear path to it. So while you're learning to code, if you can start to find the joy in it, the fun in the problem solving, trusting the journey, and really focusing on your process and not the product, if you can do that, if you can find that joy and banging your head against the keyboard for a long period of time just to finally figure it out and have that euphoric moment. If you can figure out how to do that, you're going to make it through the trough of sorrow. The other thing too that makes the frustration come down a little bit, right, that helps with this frustration level that you have to conquer is this ability to be consistent. Most folks, when they start out trying to learn how to code, they say, you know what, Leon, I'm going to study all Saturday. Well, guess what? You missed a Saturday, you missed the next Saturday, and you don't actually learn how to code. There are also some very important tips about how our brain works and how we learn that requires you to be consistent every day. And so most of my students, I ask to see if you can block off two hours a day to be consistent, to do the things that you need to do to continue that learning. But if you're chunking on just one day a week or two days a week, it's probably not gonna work out that well. It's not consistent enough, you'll skip some days and then you'll be in a deeper trough of sorrow than when you started. The last bit is you have to understand you have to take care of yourself. Learning to code is a marathon not a sprint. Every time I run a boot camp a portion of my students wind up going to the hospital. They don't take care of their fingers.

They don't take care of their hands. They don't take breaks at the top of the hour. They don't use tips and techniques like Pomodoro to build in break time. Learning to code is stressful not only on your brain but but also in your body, also in your eyes. You have to be doing things that take care of yourself or else you're gonna burn out and not make it to the end. If you can manage your frustration, you can be consistent and you can take care of yourself, you can learn how to code. I've seen folks from all walks of life. I have returning citizens that haven't touched the keyboard in five years, to folks that have children, to anything you could think of as a barrier, I've seen them learn how to code. It has nothing to do with your aptitude or your ability to be good at math or anything like that. The folks that learn how to code and banish their frustration, they don't give up. They're consistent and they take care of themselves. You can figure out those three things. You can be a software engineer. Now, if you listen to nothing else from me, right? And I say, if you don't listen to anything else from me because don't let me the person that gets in the way of your dreams and don't let your dreams be dreams, right?

Get out there, achieve what you want to achieve, but hopefully I can give you two words of wisdom. If you don't listen to anything else I have to say, if you leave before we get to GitHub, please embody these two things before you leave. Active recall and spaced repetition. Active recall, spaced repetition. Active recall is this idea that after you learn something, you literally talk out loud about the thing that you just learned. I have a lovely duck on my table that I talk to. Every single time I learn something new, my duck knows about it. And then you'll meet Bob who I talk to as well when the topics are really difficult. There was a lot of research that's gone on to this, but there was one really interesting study where a group had to learn, let's say, we'll say a chapter of a textbook. One group re-read the chapter four times, one group read the chapter and then actively recalled, talked out loud about the stuff that they had just learned. The group that actively recalled did better than the group that read it four times. What? Could you imagine doing something that you put in a quarter, a quarter of the effort and get better results? This is what I'm talking about, folks. There are actual strategies that you can put into place when it comes to learning that if you're not doing them, you're doing four times the amount of work.

The other really important thing is this idea of our forgetting curve. Now, this was a study of one. It's been replicated in some other ways, but the idea here is that this person, what they did is they tried to remember a three letter combination. You can say like X, C, D, right? You get a three letter combination. what they found is that just 20 minutes later there was about a 40% chance that they had forgotten those three letters and by the end of 31 days there was about an 80% chance right 80% chance that they have forgotten everything so So if you're committing to a learning journey, if you're committing to an idea of learning how to code, which is a cumulative career, and there's about an 80% chance you're gonna forget stuff in a month, don't you see how that can be a fool's errand, right? And so how do we get over this? How do we stop this forgetting of all the things that we're putting so much effort and being consistent to learn? Well, you can reset your forgetting curve. You can actually flatten your forgetting curve so that eventually over time you don't forget anything And the way we do this is through spaced repetition All spaced repetition is is that you are reviewing? The things that you learned over time and while you may have forgotten certain things in in three days You review it again. It goes out to seven you review it again and it goes out to like 20, you review it again. And eventually this review curve flattens and you just don't forget anything. And so here we all use a tool called Anki, A-N-K-I. It's completely free tool, completely free on PC, completely free in the browser.

And so you can use this tool called Anki, which is like flashcards with an algorithm behind them to help you never forget stuff. So, my students that use Active Recall and Spaced Repetition, they literally do not forget stuff. They can actually learn the fact that these two things are not in the front of every textbook that you have ever used is a crime. Now Ali Abdaal has a wonderful video where you can watch them talk through the science behind Active Recall and Spaced Repetition. And there's also one other course I really recommend. and it's Dr. Barbara Oakley's Coursera course called Learning How to Learn. All of these resources are free. I never share any resources that are not free with 100 devs, and so if you are starting your engineering journey, or you're learning how to code, or you're coming to this video because you're trying to learn Git and GitHub, trust me, please, just try it. The active recall space repetition, you'll be surprised how much more you can learn, and how much more you can retain and the things that'll stick for the long run. Cool. Now the last bit that makes the trough of sorrow really, really hard, that makes learning how to code really hard, that makes learning Git for the first time really, really hard, is that some folks do it alone. You don't have to do that anymore. You can join an amazing community of individuals. How many folks do we have here right now?

We have over 3,000 people here right now that are all learning to code together. Our Discord community is 29,000 strong. Every question that people ask gets answered. We have amazing folks going through our current cohort. We have amazing alumni. We have amazing folks, mentors that give up their time to support folks that are part of this 100 devs community. You don't have to learn alone. I see in chat a lot of folks saying that they'll help you carry the boats and the logs because that's true You don't have to learn this alone. You don't have to learn how to code alone. Come join a Really passionate welcoming community of folks that want to see you be successful as well So, you know, he's got a lean one comm slash 100 devs or if you're ever here on twitch Yeah, Noel comm slash twitch you can use that exclamation point 100 devs That'll give you the link to our discord come through agree to the rules and you'll find an amazing supportive community where you can get your questions answered, specifically questions about Git. When you're first setting up Git, it can be pretty difficult. The first few times you try to actually put it into action, you might come across some weird errors. Come, ask questions about those errors. We'll be happy to help. And yeah, shout out Ketchup Crew.

I see you all in the chat. You don't have to join us live. You can also, all of our classes get put on YouTube, so you can always watch at your own pace. Join the discord community, join our catch-up crew, continue at your own pace and get the same support as well. Cool. I had to shoot my shot, right folks? We gotta do it. We gotta do it, right? If this is all they ever see, that's what we need them to know. All right, folks. Microsoft, Azure, thank you so much for supporting this community time and time again, Literally helping to make this be the best week ever to make changes consistently that support early career developers. Folks if you don't know they Microsoft acquired GitHub and for a long time GitHub their private repos were not free. You had to pay to have private repos and I think when you're a new developer there's always kind of that little bit of apprehension before you kind of throw caution to the wind where you don't want your code public to everyone. And so for a long time you had to pay. Now you don't private repos are free folks.

And so I think Microsoft is committed to making the experience of early career developers the best it can be, whether we're using the text editors that we use, like VS code, whether we're using get and get hub, or we're using any of the amazing services that Azure provides. They consistently show out, not only for a hundred devs in our community, but every other engineer that's kind of earlier in their career. They really do make it a more inviting space. So Microsoft Azure, thank you so much for sponsoring. Thank you so much for offering up the swag, but also building tools and systems that help support everyone that's here tonight. Hi everybody. Let's get it on. Now, before we get it on, we have our first raffle of the evening. Now this raffle was for folks that, you know how we do, the folks that open the newsletter before class. So you can always do exclamation point newsletter here in chat. You're not assigned to the newsletter. You should, you should, you should sign up to the newsletter. All the good stuff happens in the newsletter first. And so for the folks that open the newsletter before class, I went and grabbed all the individuals that had filled out the secret form in the newsletter. And I threw all your names into a random picker.

So 1,500 of you filled out that form before class started. DragonsworldA, thank you so much for the five gets a subs. I appreciate you. And we had some folks come in. Devman90, thank you for the hydration. Cheers to you. LDVellOno, I will get to your Pokemon card. I see you. And SBBurton, thank you for the posture check. I'll get there in a second. I'm gonna get my posture checked real quick. Did we just start? I feel pretty good. All right. So, this is for folks that went into the newsletter before class started, filled out that form.

Whoever wins this raffle will get a Learn with Leon swag package. So, in the Learn with Leon swag package, we have a lot of really cool stuff. Little bits of merch that you can't really get anywhere else. That's cool. Sticker is a bunch of other fun stuff and I'll ship it anywhere in the world. So whoever wins, you're getting a swag package. Anyone that wins this evening, if you win anything this evening, I will send you a whisper here on Twitch. It's just way easier because we're doing so many raffles tonight that I will send you a whisper here on Twitch with instructions on how to redeem your prize. That way I don't have to worry about anything. No flooding of mod mail or anything like that. If you win something tonight, you will get a message from me on Twitch this weekend. So give me until end of the weekend to get you the message and everything set up and sent to you, but you'll get a whisper from me here on Twitch. Cool. All right, let's pick the random winner. I am Ghost.

Hey, congrats, I am Ghost. You have won the first swag of the evening. The learn with Leon swag package is coming from you. Paste open the newsletter folks, that's all I gotta say. So let me go ahead and write these down over here just so I have them all. Beautiful. Awesome. Alrighty, let's continue with this evening folks. Let's, shall we say, get it on. Now, before we jump into Git, we have to start with something called the terminal. And whenever folks first learn about the terminal, or they decide that they're going to start using the terminal, it can be a really confusing space to be in. There's so many weird words, weird terms that come up, Terminal, Bash, Git Bash, Unix, Shell, CLI, CMD. It's a little much. And I find there's really not that many great places that just start from the beginning and say, kind of, let's just put all that to the side for now. We're gonna start from the very, very beginning.

And by the end of this night, you'll understand some of these terminologies and it'll make a little bit more sense. But I really love this GIF because I never remember like back in the day trying to figure out the terminal. I still I mean, there's still today so much stuff. I don't know about the terminal, but I remember trying to figure it all out and feeling like Charlie in this gif where I'm trying to connect all these dots. All these all these weird names don't make any sense. And it's all coming through. The other favorite thing I like about this gif is actually I mentioned this last class, but this Pepe Silvia, they never actually really say what Pepe Silvia was. But there's a lot of people that believe that Pepe Silvia was Charlie reading the envelopes that said Pennsylvania and Not knowing what how to pronounce, Pennsylvania and so Pepe Silvia is is probably Pennsylvania Yeah Yeah, that's that's my head cannon cool Now I I love this gif, this image. I wish I could make out the person so I could give them credit, but this is something we brought up in class the other day. And I just love that git is on here because there are so many of these random names and terms that come up when you're learning how to code. And I love this because this person said, I typically ask recruiters to point out which of these are Pokemon. And it's really hard. Even if you've been coding for a while, there are some here, or if you even know Pokemon for a while, there's something you're like, hmm, I'm not really sure. But I love that Git has made it onto this list. And I can tell you all this evening that Git is indeed not a Pokemon.

It is a tool that we will be using for the rest of our engineering careers. It's something that we will use every day going forward. And it's something that is extremely powerful and it will make your life phenomenally better. Cool. So, whenever you hear the word terminal, I don't want it to cause fear or panic. Whenever you hear the word terminal, all I want you to think of is a place where you can type commands that cause action. A place where you can type commands that cause actions. And we're gonna see a lot of different actions tonight. We're gonna see a lot of different commands tonight, but just a place where we can type stuff and things happen. That's it. Cool. So way back in the day, if you bought an Apple II, which was one of the kind of early computing systems that made it big and was where a lot of folks kind of started a computing journey, you paid all this money for an Apple II. and it was expensive, it was not cheap. In today's dollars, the base model of the Apple II was around five grand. And in today's dollar, like the top of the line spec for the Apple II was 1,000, sorry no, $11,000.

So base spec 5Gs, top spec 11Gs, you took it home, you turned it on, and all you got was this. You got got. You got got. Well, so the cool thing is what it gave you was access to a command line or a CLI, a command line interface. And so you turned on this Apple II computer, right? You turned on this beast and instead of getting a GUI or a graphical user interface, you got a command line interface which is a place where you could type commands or access utilities which are just programs on the computer directly from by text there was no GUI that we could move around there were no folders that we could drag and drop you had a CLI as opposed to a GUI or a graphical user interface and so you spent five grand you bought it home let's see if I can refresh this real quick. You brought it home and this is what you got and there was no internet to figure stuff out. You could you could have like this thick manual that you could go through to figure it out. Maybe you would eventually find like a user group that you could go to like like a meet up to like figure out and exchange floppy disk. But you kind of like power cycle it right like you could you could turn it on and there would be a place to like to actually start typing, that's it. No GUI, no folders, no anything. But this was a beast though, this had color folks. And you could actually open up individual programs, right? You could go to your swap fest, right? You could take your floppy and exchange it for other floppies and there was actually some cool stuff that you could do.

for what, hey, thank you for the five gifted subs. And so here's one, it's like a personal, there's like a Christmas card, you can open it up. And there we go. Like beautiful, like full color, right? Merry Christmas, like you could do some cool stuff with it, but what you noticed, look at this, this is next level. All right, so from the command line interface, you had no GUI, from the command line interface, you could run commands, you could run utilities, and you can still do some pretty cool stuff. It was just a very different experience. And so this command line interface, or eventually we'll call it the terminals where we access this command line interface, it's still alive well today. So when you were on the Apple II, if you wanted to move around your files and your folders, and you wanted to get access to stuff, you use that CLI to access those files, to access those folders, to get the things that you wanted without having to click around on a bunch of stuff. And so this still is alive and well. We can look at a terminal that I have on my machine right here in this bottom right-hand corner. This is my terminal and I can still move around. I can still write commands. I can still kind of move into folders, right? It could still grab all the things I want on my computer.

I could still run fun games, maybe Christmas cards like we just saw, all from this lovely command line interface. Now I'm going to walk you through some common commands and then I'm going to show you kind of how to get this working on your own machine. In the materials before class, I kind of shared some things where you could get this started. If you are on Mac OS or a flavor of GNU Linux, you probably already have a program on your computer called Terminal, which will give you access to this lovely command line interface that you see here on the right side of my screen. If for some reason you are on a Mac OS system or a GNU Linux system that doesn't have it, you're gonna have to install it. And then if you're on Windows, I would recommend git bash for this evening. Now, Windows comes with the command prompt, which is a slightly different system than what we're gonna be using tonight. The commands are a little bit different. So I actually recommend get bash to start and then eventually you want to look at something called WSL or the Windows subsystem for Linux and What it does is it enables you to have this like we call it a unixy environment on Windows and so tonight get bash That's where you it's that's where I recommend you start You'll have a chance to install if you didn't have a chance to install it yet and for the beginning don't worry about typing in the commands. Watch them along with me, see how I'm doing things, and then we'll have a time, we'll give you a little bit time to install the things if you need it installed. Okay, so if you're on Windows, I recommend Git Bash for this evening. If you're on Mac OS or GNU Linux, you probably have a program called Terminal that you could open up and that you could follow along with us. But like I said, if you don't have this installed yet, you know that you can't install yet, don't worry. Follow along, right? Follow along, see the commands that we're using, and then as you have time, feel free to go and install those after class.

And then if you have any trouble installing things, come on Discord, we'll help you get it installed, and then come to Office Hours on Saturday, where we'll go, I'm sorry, Sunday where we'll go deeper into this as well. Cool. So I talked about being able to run commands in this terminal here and there are some common commands that you're going to need to know that are going to help you navigate your computer, navigate files and folders, and once you get proficient at it, it can actually be really quick to create stuff, move around stuff, and You'll see me a lot of times going forward in class. Just creating stuff directly Here in the terminal instead of using my GUI that you see up here. So here's a GUI right here You can see this in my class 24 folder and I'm gonna do stuff that you're gonna see populate here, and I'm gonna be doing it all in the terminal I'm so excited me too All right, so let's talk about some common commands. Right now, you can see that I'm in my class 24 folder. And so there is a really common command that you can use called pwd. And so I'm just gonna type pwd, and let me see if I can make this a little bit bigger. Let me switch this over. Let me make this a little bit bigger. No, let me go ahead and clear. All right, let me make this a little bit bigger just to make it a little bit clearer for folks to see. All right, there we go. There we go, cool. So I am going to do PWD, and this stands for Print Working Directory.

And so what you're gonna see is the path to the folder that I am in. You're gonna hear this word directory, and you're gonna hear word folder. For tonight, don't worry about it. Whenever you hear the word directory, just think a folder on your computer, okay? We don't have to get super technical with it. When you hear directory, just think folder on your computer. Let's make our lives a little bit easier tonight. So cool. We have this PWA that shows you the print working directory. And the cool thing is it can show you the full path to the folder that I am currently in. And so this is helpful to figure out like where you are. And you can see that, oh, I'm on my desktop. I'm in a stream folder. I am in my 100 devs folder and I am in a class 24 folder. Right?

And so this idea here is that I can see where I currently am. Now, once I am in a folder, I can even do things like make folders wherever I am at. So a very common command that you'll use is makedir. And what makedir will enable me to do is to make a directory. And so keep your eye up here in my GUI, and I'm gonna type in make dir example. So what I have just done is I have made a new directory or a new folder called example. And you saw that folder be created in real time, right? You saw that that folder is created in real time. And let me move it over a little bit so that the GIFs don't cover it. But you can saw that that folder example was made from my command here in the command line. Pretty cool. All right. Some other commands that you're gonna see a lot are CD or change directory. So right now, what folder am I currently in? Chat, what folder am I currently in?

Yeah, I am in class 24. So if I wanna go into the example folder that I just created, I could do cd space and then example. And I could type it all the way out or I can even just hit tab. And when I hit tab, it's gonna enable me to move into the example folder when I hit enter. So now you can see that I am no longer in class 24 but I am indeed in the example folder. And if I wanted to see what directory I was currently in, what command could I use? Yeah I could do pwd and you can see all the way that I am in the example directory. Nice. You can still see it here that I'm in the example directory as well. So that CD is what enabled me to move from my class 24 folder into my example folder. Nice. Now let's say I wanted to go back up to the class 24 folder. I'm right now inside of example. If I wanted to go up a level back to class 24, I could do cd dot dot. So what cd dot dot is gonna enable me to change a directory but go up a level.

So cd dot dot, and now I am back in the class 24 folder. Cool. So we've seen this dot dot once before during our time here together. Where have we seen this dot dot before? We've seen it at one very specific place that's come up during class. We've seen it when we were linking files and we've seen it a lot when we were linking images exactly. Sometimes when we were linking images, we were like in a CSS folder and we needed to get to an image folder or we were trying to go from one folder up to another folder. And so we actually were using this dot dot in those links all the way back then and the reason why it worked Is because this is how it works at a fundamental level at the computer Here we're seeing this dot dot to go up a level when we are doing our links inside of our CSS or HTML It's the exact same thing Well What's the difference between cd dot dot and just cd? Cd is gonna go in a folder and cd dot dot is gonna go up a folder. So if I was to click here, if I was to go into example, I'm in the example folder now, but I could go up a level and now I can be in the class 24 folder that has example in it. Well, I can do the same thing inside of my terminal here. Right here, I'm in the class 24 folder. I can CD into the example folder. Now I'm in the example folder, but if I want to go back up to the class 24 folder, I can CD dot dot. That takes me up a level where a CD goes in a level.

Annihilator A, thank you for the hydration. Cheers to you. Get a lovely drink in. All righty, so we saw pwd, we saw make directory, make dir, we saw cd, cd.dot, we also have this lovely way to go all the way back to our home folder. So if we were in a GUI, we could be on my desktop. From my desktop, I could go into my stream folder, In my stream folder, I can go into my 100 devs folder. In my 100 devs folder, I can go into my class 24 folder, right? That was a lot of clicking, right? That was a lot of clicking. We can do all of this from the terminal as well. So what CD is going to do, CD tilde specifically, what it's going to do is bring me all the way back to the beginning, all the way back to my home folder. And so when I do CD tilde, day. You can see them all the way at the home folder of my computer. And then if I wanted to get back to where I was into that class 24 folder, I'm going to have to CD into it. So I could CD desktop and then I'd be on the desktop.

I could CD 100 devs. Sorry, CD stream. I'd be in my stream folder. Then I could CD into 100 devs. And then I could CD into my class 24 folder, right? And that would work. You can see that I am now inside of my lovely class 24 folder, right? Or, or I could do it all over again. So let me CD tilde to go back to my home folder. So I'm back in my home folder. and I can do it all in one go. So I can do CD, desktop, stream, 100 devs, and then class 24. Beautiful. And I could hit enter, and I went all the way from my home folder, all the way to my class 24 folder. and so the idea here is that we can move through our folders using just these very simple terminal commands So, we've seen pwd, we've seen cd, we've seen cd dot dot, we've seen cd tilde, we've seen a bunch of these beautiful kind of commands.

And now we have a lot on the screen. So there's something I could do, right? There's something I could do if I wanted to kind of get rid of the stuff that was on the screen. What could I, what do you think I could do? I've shown it once in the very beginning. Yeah, I could clear. I could do a clear. And once I'm kind of back up here, what I want to do is I want to move into my example folder and I wanna create an HTML file inside of that example folder. Will these commands work for Windows as well? Yes, if you are using git bash. If you're using the command prompt, the commands will be different. So that's why I recommend if you're on Windows, use git bash. I sent a link in the slides, but there's also before class as well. There'll be a time for you to install it if you don't have a chance to install it. So for right now, absorb the commands, walk through them, and then we'll have a chance for you to install it if you need it.

Cool. Alrighty, so if I want to get into my example folder, what can I do, chat? CD example. Exactly. So change directory into my example folder. CD example. Beautiful. Now you can see that I am in that example folder and we have another command that will will enable us to create files. So normally to create files, we open up VS Code, we do new file, we save that as a specific file. But when we're in the command line, here in this lovely, lovely terminal, we can do something specific. We can go ahead and do touch and then name of the file. So here I'm gonna do touch index.html. And as soon as I hit enter, you can see that this HTML file was created. Let me make this a little bit bigger. All right, you can see that that HTML file was created.

I didn't have to open up VS Code. I didn't have to create a new file. I didn't have to save. I could just do touch index.html, and boom, we have an HTML file. All right. Now, if you wanna see all the files that you have in a folder, If you want to see all the files you have in a folder, you can use the SLS command. And so here with LS, it'll show you that right now inside the example folder, there is a lovely index.html file. So if I wanted to see the files or folders that were inside of the example folder, I could just do LS and it would let me know what was in there and it will show me here in the terminal. Now there are what we like to call flags, which give these commands superpowers basically. And so a lot of times you hear me use the word command, but a lot of time the things that we're typing into the terminal here, they're actually just programs that are running on the computer. We call them like utilities a lot of times. And so yeah, you can call them power ups, whatever you want to call it, But here, I'm gonna be able to do ls, whoop. I'm gonna be able to do ls, and I'm gonna do flag l. And when I do this flag l, I'm gonna get some more information about each file or folder that is inside of this folder, right? And so here you can see not only the name, but when it was created and the permissions on that file.

It'll show you the permissions that are on that file. And so you'll be able to see, like, can you rewrite it? Can you modify it? But it gives you all that information. There's also one other command that you'll probably use a little bit more, which is ls flag la, list all. I want to see it all right and when I do list all not only not only Does it show you? The files that you can see in your GUI But it can also start to show you hidden stuff that you can't always see in Like your your file or folder windows like in your GUI And so a lot of times on your operating system, whether it's Mac OS or Windows or can do Linux, a lot of times you'll have hidden folders turned off. Like you can't see hidden folders. Like right now on my version of Mac OS here, I don't have my hidden files being shown or my hidden folders being shown. So if I ever want to see stuff that's hidden, I can do this LS flag LA and be able to see not only the things I visually see in my GUI, but anything that would be hidden in these folders as well. Can touch make a folder? No, we would use make dir, make directory. Whenever we want to create a folder, we use make dir. Whenever we want to make a file, we use touch. Cool.

So this ability to see the hidden folders with this LSLA, This will be really helpful when we get to Git and we want to see, we want to see our hidden Git file. So later on, we'll be able to see this again. What does touch do? Touch creates a file. It creates a file. Yep. Cool. And we're gonna do this all over again together. Cool. So a few more commands I wanna put into your brain and then we're gonna get some practice using this. And we're going to do this a couple of times together. So if you feel like we went a little faster, the commands, it's okay. We're going to show all the commands, get them in your brain. And then we are going to do them all together two times. So we'll, we'll create a whole folder structure using just the terminal.

Then we'll delete it. We'll do it all over again. So we'll be able to see all these commands in action. Cool. Alrighty. Now, the next command that we have is rm. And rm helps us remove, exactly, spaced repetition. Rm helps us remove a file. So we have, if we do ls real quick, we can see that there's an index.html in our example folder. So what I want to be able to do is remove this index.html. We're gonna walk through these last few commands, and then we'll take our break at the top of the aisle. or come back, we'll do some raffles, and then we'll walk through using all the commands together. So let's go ahead and do RM. Always be really careful. Please don't type these commands out just yet.

Let me explain what they do before you start throwing them around all willy nilly here because it can get a little wild. So give me a second. RM, I'm gonna do index.html. All right. When I do that, pay attention up here. Pay attention up here. You ready? RM index.html. Ready? Boom. I literally removed that file using the command line. Poof, gone. We also have another lovely command, which will enable us to remove folders. So I can go up a level. Chat, how do I go up a level to my class 24 folder?

How do I go up a level? CD dot dot, nice. So now I'm in my class 24 folder. I wanna remove my folder of example. One thing you're gonna notice me do real quick, watch, I'm gonna type my E, my X, and then I'm gonna hit tab. I always get into the habit of typing and then hitting tab so that it auto completes the folder or file name for me, right? So I typed ex and then I hit tab and it autocompleted for me. This will help you Make sure you're you're typing out the right things make sure there are no there are no like mistakes that you're doing It just it just helps you get move around a little bit faster and delete stuff so now I'm gonna delete this example folder and poof you saw that the folder disappeared up in the in the lovely GUI up top and then there is one other other really big thing before we take our break. It's this lovely rmrf folder. So this is a forceful remove. This is a forceful remove. What it'll do is it'll remove the folder, it doesn't care, right? It doesn't care. It will delete anything and everything and it will be gone. Not in your trash can, gone.

So you must be absolutely, 100% sure you want all of this stuff gone because once it's gone, it's gone. All right, so always be careful whenever you're doing this lovely RF flag with the folder you're trying to delete because if you do this, it is gone. No one does these, no one done, it's gone, gone. So, I don't even know if I should say this, But we're gonna say it anyway back in the day if you were if you were if you were I don't know You're trying to get someone got You're playing you're playing. I don't know counter-strike back in the day You would you would tell them to all f4. They'd be like, hey, how do I do this? And you would say all f4 Right, and then you see them poop. They would disappear They wouldn't be playing the game anymore because all f4 would close It would close the it'll close the game on them now if you were like evil and They said hey, how do I do this thing or like hey my game stuttering? How do I fix it if you're evil not me? I was never this person. You're evil. You would say hey Do this on your computer? RM RF and then like a really important folder like their system 32 folder or something like that And then, boof, you would see them leave online and never come back because they borked their entire computer. They're gonna wind up having to reinstall Windows. So I give this as a cautionary tale.

If anyone ever tells you to do this command in the terminal because there's something wrong or going amiss, you now know, you now have the knowledge, the power to know that they're messing with you and that whatever you use this on, whatever folder you use this on, it'll be gone. Now, I also use these carets here, just to say like, this is going to be the folder. These carets aren't actually here. It's just the name of the folder. So whenever you see that, these carets there, just remove them and know that's like the folder name that we're inserting there. Cool. We are a little over the top of the hour. There are a few more commands that I want to show to you. And then we're going to talk about how to access the terminal. So actually I want to cover those two things. Give me a little bit of time to go over here, just so that if folks want to take the break to install some stuff, they can. Excuse me. We saw that when our terminal gets a little cluttered, you can go ahead and clear. And it just gets rid of the stuff that's cluttering your terminal. And it just makes it so that you can start at the top again.

So every once in a while, I clear just to give myself some room. And then you'll also notice that you can open files, you can open files directly into VS Code if you install something specific in VS Code. So let me go ahead real quick. I'm going to create a folder called example, and I'm gonna go into example, and don't worry, when we come back from break, we're gonna do this all again. Once I'm in example, I'm gonna create an HTML file. And then what you're gonna notice I can do here is I can do code and then the name of that file, or I could do code and name of that folder, and VS Code opens it up for me. And so I didn't have to go anywhere. I'm in this folder now. I can set up my HTML like I normally would set it up. I can give an H1 here that says, thank you, Microsoft. All right, right in here, super easy. and so the way that you would do that is when you have VS Code open, you have a few things that you can choose from. You'll see code, file, edit, selection. You're gonna wanna go to view, and one of the very first commands in view is the command palette. Once you're in the command palette, you'll have this install code command path.

You can see that I have it recently used. You just you just type that out you click on it, and it'll enable you to use the code Shortcut from your terminal to just open whole folders or whole files in VS code so really powerful really really helpful and pretty easy to do open up VS code go to view Go to command palette and then look for this install code command and path you do that boom it opens it all up Yeah, code dot will open up everything. It's a good shortcut too. So if you want to take some time to do that during break, maybe you could. And then the last thing I want to say before we take our top of the hour break is, hey, how the heck do I access this terminal thing? Well, if you're on Windows, you're going to want git bash. You can go to git for Windows. I would recommend that for today, right? I would recommend going to git for Windows today to get this stuff. If you ever need these links, you can always get the slides by doing exclamation point slides here in chat. When you do exclamation point slides, you'll get all the slides for today. So if you want these actual links to be able to click on them, have the slides open. I recommend if you're in Windows, git bash today, going into the future WSL, which we'll talk about during office hours on Sunday. So git bash for tonight, WSL for going into the future. If you're on Mac or GNU Linux, you probably already have a terminal application in your application, so just go ahead and open that.

Cool. So you'll notice that I'm using a terminal application called iTerm. It's a terminal that I've installed on my operating system. I like it because I can do cool stuff like have it be transparent, which is helpful when you're coding. So you can see how mine's like a transparent window. So I really like iTerm if you're on macOS. It's a really good terminal. Cool. Alrighty. I know it was a lot. We went a little bit quick. So what we're gonna do is we're gonna take our top of the hour break when we come back We'll do our first like raffle that's open to everyone and then we're gonna walk through creating a normal setup like a normal folder setup So we're gonna create our HTML or CSS our JavaScript all that fun stuff Let's go and take a break. I'm gonna put five minutes on the clock if you're new around here. We like to be healthy we like to we like to We'd like to make sure that we're getting up if we're able moving around hydrating letting our eyes focus on something that's not the screen and then we all come back. So you're going to see me get up, walk away.

Bob's going to keep you entertained. Don't play some music. I'm going to run some ads so that folks that are joining us live don't have to sit through ads when they join and then we'll be back in 5 minutes. So take your 5 minutes when we get back. Our first two raffles of the evening that are open and everyone sponsored by Microsoft Azure. Thank you so much for sponsoring us and we'll see you in the next one. and let's go ahead and take that break. You Is Is having knowledge of Git Bash something employers look for? Yeah, absolutely. It's something that you're gonna use. If you're on Windows, it's something that you could use. There is WSL now as well. So knowing Git and how to use it across any operating system that you're using is something that's really, really important. Pretty much every professional software engineer or uses Git or something very, very equivalent to get their work done. And we're gonna see that later.

And once we get through like the terminal and how the terminal works, we'll see kind of how it all comes together to enable us to work well with engineers or even to enable us to work well on the code that we write every day. Will everyone think that I'm a big noob if I use the GitHub desktop application? I've seen it, some employers have been a little skittish around folks that use it, but I think it's really important that you learn the command line anyway, and you learn how to use the terminal of your choice. There are gonna be a lot of times you're gonna need little utilities that run in the command line. You're gonna need these little patterns that just help you get more work done. And so getting comfortable with the terminal and getting comfortable with running your commands there It's really important even if you eventually do go on to use the GUIs that help with a lot of this stuff Knowing the basics and you might not always be on a system that has access to the GUI And so knowing how to use this is really helpful a lot of times. I'm accessing like my computers I am accessing The different stuff I have on my network all through terminals. So a lot of times I'm not I'm not running code in like a graphical user interface, I'm running it through the terminal. And so it's really important that you get comfortable with it, that you at least see it and use it before you kind of start thinking about the other options as well. Cool. Alrighty. If you are on Ubuntu VM, no, you should be fine there. You might have some trouble with your folders, but other than that, you should be fine. Like getting to your code might be a little bit different, but a lot of this stuff we'll cover in office hours, or like I said, each computing system is gonna be completely different. Your operating system might be different.

And so if you're running into trouble, like you haven't been able to get it installed, that's okay. Come to Discord, ask questions in our general code help channel, and folks will be more than happy to help you troubleshoot your specific issue that you're having. But like I said, these commands are universal. Once you have everything set up so if for some reason you're set up isn't perfect this evening. That's okay Pay attention to the commands follow along with us And then once you're able to after class get everything set up then you can try it again And if you need the slides go ahead and do exclamation point slides here in chat It'll give you access to all the slides. We're using This this evening and if you're new and you kind of just want to stay in touch Exclamation point discord. That's where you'll find, once you get our rules, you'll find all of our help channels and places to get support on digging through all this stuff. Uberfly, there's no materials for today. We didn't need any materials because we're creating them live, folks. We're creating our materials live together. There's no like zip or anything for today because we're literally creating all the files and folders that we need because we're doing it together, which is pretty cool. All right. So what I want everyone to try and do. Well, first we're gonna do some raffles. So let's go ahead and do our first two raffles.

The way raffles work is once I open them, they're not open yet, so you don't have to type it yet. Once I open them, you're gonna do exclamation point raffle. They're not open yet, so you don't have to type it. Once they're open, you just point raffle, that'll enter you into a raffle. We're going to have two different raffles each round. The first raffle will be Microsoft swag that's open to folks in the US. And then the second raffle will be open to anyone in the world. I ask that if you're in the US that you just enter the US raffle. And if you're anywhere in the world that you just enter in the anywhere in the world raffle, don't don't don't make this embarrassing for us where you win the raffle that you shouldn't have won. So the first one will always be the US only one. So I'm going to open that in a few seconds here. It's not open yet All right, let's start it All righty. So the us only microsoft raffle is open You can do exclamation point raffle in chat and when you do that, you'll be entered into the raffle I'm going to leave it open for a minute and then after that minute we will close it up and we will pick our winner live. Then we'll do our Anywhere in the World raffle. Yeah, Streamlabs putting in work today.

That's all I gotta say. Look at this chat. All righty, go for another, I guess I should put the timer up, right? I think that might be easier. All right, another 30 seconds for this first one, I should have had it up from the beginning. And then we'll close it, we'll pick the winner, and then we'll do the Anywhere in the World raffle. The swag is pretty sweet, folks. I got some last time, it was pretty dope, not gonna lie. Then we'll do, of course, our laptop raffle at the end, our first one this evening, then the next one on Tuesday. day. All righty, closing this first raffle and we're going to pick a winner. All righty, closing the entries now, picking a winner. Rosie, but you have won the the raffle. You can see the raffle winner in chat as well. But Rosie, but congratulations.

You have won the raffle. I can see your response. You said OMG, I can see it pop up here in the Streamlabs alert. Rosybot, you will get a whisper from me here on Twitch this weekend, and we'll get that prize coming your way. So I'm gonna complete this raffle, and then we're gonna do our next raffle, which is open to anywhere in the world. This is the Learn with Leon swag pack. So let's go ahead and open that up. The entries are now open. You can do exclamation point raffle. And this is open anywhere in the world. If you're in the U.S., this will not be shipped to you, so don't enter. Alrighty. I'm gonna write all these down too, just in case. About 30 seconds on here. Just so everyone knows, we should have the music going.

And We're gonna do a few raffles whenever we get to a difficult topic we'll do a raffle But we're gonna save the bulk of them for the end just cuz I know it takes a little bit of chunk out of the Flow to do them all so we'll probably do like two more during the flow of stream Then we'll do the bulk of them at the end All right, I'm going to go ahead and close these entries. And I'm going to pick the winner. You'll see the winner come through in Twitch chat. Three, two, one. Bompish, Bompish, hey, congrats on the learn with Leon swag. Bompish you'll get a whisper from me here on Twitch this weekend. Congratulations Bompish Alrighty folks Thank you for the the first round of the swag raffles Let's keep it going Alrighty All righty, congrats Bumpish, congrats Rosie Butt. Let's get into this. All righty, so what I would love for you to do is right now I am, I'm gonna bring my GUI up too. Right now I would like for you to create a normal folder setup. So I want you to create a normal folder setup. What I mean by that is think of the normal front end folder setup that we use for class. I want you to have a folder that has a CSS folder in it, a JavaScript folder in it, and an index.html in it. In the CSS folder, I want you to have a style.css file. and in the JS folder, I want you to have a main JS.

So just set up our normal kind of template-esque setup that we use, where you will have your folder with two folders inside of it and three files. Don't have to be the exact names or anything like that. I want you to try it. We're gonna, using the terminal, yes, don't open up your folder system and try doing the folder system. Open up the slides, move through the slides. if you need the commands, right? Use the slides if you need the commands, right? And you're gonna set up your normal folder setup for how we would have our normal folders for class. So a CSS file, a JavaScript file, sorry, a CSS folder, a JavaScript folder, and the files that are inside. All right. We're gonna go ahead and put a little bit of time on the block here. Just the folder setup, nothing more fancy than that. just the folders and the files. That's it. If you need to install git bash, go ahead and take the time to do that.

I'm going to put five minutes on the clock here. I think five minutes will give folks enough time to install if they need to install anything and then try out this folder System Cool bring some music on got this For folks that are having trouble with mkdir on git bash, run a cd, just do a cd command that's empty. Just do cd and then try creating your mkdirs. For some reason, sometimes if you're not in that home folder on git bash, it will give you trouble. And then like I said, you don't have things set up this evening, that's okay. You can take time after class to get it set up. We'll go over it together after class Got a lot of dunzo's coming in. That's cool. That helps good to hear that Folkman. Yeah, it's something weird about get bash I've noticed before First try. All right. Nice all these dunzo's Like some of y'all might have done the homework. Hey, look at us Good to put it to use nice Hey, uh, if you need get bash, the link is in the slides that get for windows. That's what I would use Daddy D. All right, go for it.

How do we do spaces and folder names? You shouldn't. Don't do it. No more spaces, all lowercase. You can always use that tab. If you do have folders that have spaces in it, you can use the tab to jump the space, but you can also escape your spaces with the the backslash. Kind of like how we escaped our characters in JavaScript, you can do the same thing for the spaces in your folder names. Why should it be lowercase? Just because some terminals have trouble with capital letters. I just get you into some trouble every once in a while, so avoid the trouble. It's rare, but it happens. Also, it might not even be the terminal, but so much like you're executing on these files and people are expecting them to be lowercase or something like that. So just easier, give yourself some headaches down the line. First try, all right, I see y'all, that's awesome. What is code is that a command?

Yeah, it just helps you open up your files directly in vs code So much easier than javascript. Hey, well, we're back on javascript on tuesday. So maybe a nice little respite Static what's not working? Hey, what's not working? Did you do the CD trick where you just do CD and then all your make directory stuff? All right folks one more minute we're gonna go over it Like I said, if you're having too much trouble getting stuff installed, that's okay Pay attention with us tonight see the commands and then come get help on discord after I Blank did it. Hey, there you go. Deja Does get update yeah, it does we'll actually talk about one of the bigger updates to it that happened not too long ago Passion, you're gonna have to set up the code command. Did you set up the command that we showed in the slides? Minty Tuesday, Tuesday's our last day of the best week ever. We're gonna splash out with everything on Tuesday. All right, folks, come back together. Even if you didn't get it, that's okay. Let's do this together. Let's go ahead and do this together.

Alrighty, so I have, I'm gonna clear here and I am in my example folder. I wanna go up to my class 24 folder and then delete this example folder so I can do it all from the beginning. How can I go up a level? I'm already in example, I wanna go up a level. How can I do that? CD dot dot, exactly. So I'm up a level, I'm in the class 24 folder And if I do this, right, I got rid of my example folder. There's nothing there. If I do an ls in class 24, I can see that there's nothing here. So let me clear, chat, how can I create an example folder? What can I do to create the example folder? Make dir exactly an example. Beautiful, beautiful. Make dir example. I now have this lovely example folder.

And if I wanted to move into this example folder, how could I do that? Yeah, CD and then example. And how can I autocomplete? How can I autocomplete So I'm having to type out the whole thing. Yeah, cd ex tab. Yeah, I just hit that tab. I get the full example. I hit enter. And now you can see that I am in that example folder. Right? I'm in the example folder and I'm where I wanna be. And since I'm where I wanna be, I can start creating my other folders. There's two folders that I wanna create. I wanna create a CSS folder and a JS folder. So I'm going to do make dir again for CSS.

And I'm going to do a make dir for my JS. And we can actually see that now inside of example, we have our CSS and our JavaScript folders. Nothing in them right now. So I'm also going to go ahead and make my index.html, which should be on the same level, right? My index.html should be on the same level. So, how can I create my index.html? Yeah, touch, touch index.html, beautiful. Now you can see I have my CSS folder, my JavaScript folder and my HTML file. I wanna move into my CSS folder. And once I am in my CSS folder, right? All right, I want to go into my CSS folder and I wanna create a style.css in there. So, cd css, exactly. I'm gonna change directory into my CSS folder, boom. You can see that I am in my CSS folder. If I wanted to see exactly where I was, what command could I use?

Yeah, pwd, I can see the full, All right, I can see I'm all the way, I'm in class 24. I'm side example and I'm inside the CSS folder. Beautiful. I'm gonna clear just so I get more room. And I want to create a style.css file. How can I create my style.css? Yeah, just touch style.css. Great, we can see we now have a style.css folder. I wanna go to my JavaScript folder and add the main.js into that JavaScript folder, but I'm in a pickle. How can I get to the JS folder? Yeah, I gotta go up a level, right? I gotta go up and then down, exactly. CD dot dot will take me up to the root of the example folder, and now I can CD into my JavaScript folder. Cool. Now I'm in the JavaScript folder.

How can I create my main.js? Yeah, touch main.js, beautiful. So now you can see I have my full setup. I have my example folder, my CSS folder, my JavaScript folder, I have my three files, my style, my CSS, my index.html, main.js. So we have our full folder setup. I'm gonna go back up a level and now I'm at the example folder level. How could I open everything in VS Code? Don't forget the space. Yeah I could do code. Beautiful and you can see when I did the code. it opened everything for me in So let me resize my window here. And we can actually see that the index.html is here. The main.js is here and the style.cs is here. That code dot just opened everything for me. We're going to see that dot again a little bit, meaning like everything.

All right. So I'm going to go to my index.html. I'm going to do HTML. I'm going to go ahead and make sure there's an H1 in here. Thank you, Microsoft, Azure, beautiful. And we should be able to open this like if it was any other file that we've been working with this whole bootcamp. There you go, we got the thank you showing up. So we literally create it, right? We created our entire folder structure, all of our files without having to like really, you didn't click at all. We just kind of typed it all out. Cool. We have it all going. I'm going to close this. I'm going to close this one as well. And I want to delete it and do it all again.

Could you script this? You could, you totally could. You could totally have a script that you would run in the terminal where you would just type in a command, hit enter, and it would create all these files for you. Isn't that pretty cool? Now I'm a hacker. Yeah, that's the beauty of the terminal. And that's why, as you get more familiar with it, as you get more comfortable with it, you can do a lot of really fun stuff in the terminal. There are a whole like video games that you can just play in the terminal. Muds that you can play in the terminal. You can have your entire text editor, or if you wanted it to, like your entire code editor in the terminal. We've all seen the Primagen, we've rated them before. They use Vim, which is all of their stuff is in the terminal, which is pretty wild. Cool. Let's go ahead and... Let's go ahead, I wanna delete this entire folder.

How could I delete this entire folder? I love me some mud, I play muds all the time. All right, I'm gonna go up a level. Muds are multi-user dungeons. They are text-based MMOs basically. So if you ever heard of like World of Warcraft, imagine if that was like text-based. They're a lot of fun. All righty, so I'm in my class 24 folder. I want to delete the entire example folder. I'm going to do the, the forceful removing of it. And yeet, you can see everything. Everything just disappeared. My stomach still always drops just a little bit. I've done that command a bazillion times, thousands and thousands of times. I still always feel a little, every time I hit enter.

All right, let's do it one more time and then we'll move on and start getting to get all right. So we got our we got our muscles warmed up here. Let me clear everything and we're gonna do a speed run here. Oh yeah. All right, are we ready? So, speed run any percent, front end set up, let's do it. All right, so we're in our class 24 folder. We wanna create our example folder. So we'll do make dir example. Cool. Then we're gonna move into our example folder. Once we're in our example folder, we'll do our make dir of CSS. We'll do our make dir of JS. Then we'll move into our CSS file. We'll do a style.css.

Then we'll go up a level. We'll CD into our JS folder. And then once we're in our JS folder, we'll go ahead and do a main.js and then we will cd back to our example folder and we'll do a touch index.html and then we will open it all in vs code and then once we are in vs code we will do html and then once we're in that we'll go ahead and put our h1 and we'll say, thank you, Microsoft Azure. Beautiful. Save it, open it in the default browser. Let's go. Clip it. Clip it. First try. So we just created our entire folder structure We just created our entire folder structure Now you're just showing off. Yeah a little bit We just created our entire folder structure Directly in the terminal and we use all the commands we learned so far. We were able to Create directories with make dir. We were able to move around our directories with CD. We were able to make files using touch and and we were able to open up all of our files in VS Code using the code command. Beautiful.

How did you get the code command working? In the slides, I give you the exact steps you have to do. You have to go to view, you have to open up the command palette, and then you have to type in that command that was in the slides. All right, Lexisaurus confirmed indeed. All right folks, let's do another raffle. That was fun. That was fun. We got through it. We saw the commands. Uh, let's do a raffle We're doing do a raffle and then we're going to jump into git Let's do a raffle and we're going to jump into git. So first raffle i'm going to open up is going to be a microsoft swag um This will be a microsoft swag And so let me open it up one second I'm going to start the giveaway. Now. You can do exclamation point raffle to get in here We're gonna put 30 seconds on the timer here and then we'll take our winner and then we'll go ahead and do the anywhere in the world raffle for the learn with Leon swag. 30 seconds you got this. Get in here exclamation point raffle.

Don't know how to type it it's on the screen. Alright, I'm going to close it up and we're going to pick our winner. Keep grabbing the wrong mouse. All right, here we go. Closing our entries. I pick a winner. Three, two, one. Ciao. How fun. All right, there we go. Ciao. How fun. Congratulations. Yeah, you did it. I will send you a whisper on, I will send you a whisper on Twitch this weekend and we'll get you all set up with that swag pack coming your way.

Let's go ahead and do our next raffle, which will be for anywhere outside of the U.S. Anywhere outside the U.S. Open now, exclamation point, raffle, get in here. We got this one. I'm gonna put 20 seconds on the timer because I've been open for a little bit. Cool you got this. Come on get in get in. I see y'all getting in exclamation point a raffle Hope you're having a little bit of fun with the terminal. I know at the beginning it's a little rough It's a little tough, but we'll get a lot of practice in they'll make more sense as we go through Thank you for being here All right. Let's let's let's pick the winner here Let's pick our lovely outside the u.s. Winner closing the entries Picking the winner three two one Ryan Zalesk Ryan's a less Congratulations, you see your your lovely message here in in chat Ryan's less congratulations. I'll send you a whisper here on twitch this weekend Already ryan congratulations Marking it down here on my end beautiful Already folks. Let's get back into it. We're going back to the slides here and uh We're going to have a little bit of fun. We're going to learn a little bit of, a little bit of, a little bit of, a little bit of git.

A little bit of git. All right. Who had never heard of git before tonight? I'm curious, in chat. Never heard of git before, before tonight. All right, so we got quite a few folks. Okay, nice. That's what I like to see. All right, so we're going to learn about the basics of Git tonight. I'm gonna try my best to kind of explain like why Git is really useful, why as software engineers, we're gonna use it all the time. So let's talk about Git for a bit. Then we're gonna see some of the common commands. We're gonna start putting it into action and then we'll take our break and when we come back from break, we'll do our raffle. So Git solves some very important problems for us. But before we get there, I want us to think back to.

What you might have done while working on a really important word document, so. I mentioned the other day during class that I had a really unique experience in high school. In high school, I started off with floppy disks being the way I saved and backed up stuff, and then by the end of high school I was using flash drives. And so for me, whenever I was working on a really important Word document and I was in the library trying to bang out my essay just minutes before it was due, I was always really concerned that the computer would die or something would happen and all my work would be lost. So beginning of school, what I used to do is I had, I'd pay a quarter for floppy disk and I had like four floppy disks. Like I wasn't playing no games. And so I would get like almost all the way, like every time I had like a significant progress on my Word document, I would pop in my floppy disk, I would save it to the floppy disk, I would take the floppy disk out and I put it on another floppy disk as well. So I had two fricking floppy disks that had the backups of my paper, because I wasn't playing no games. I had to get stuff, I got to get that turned in, I wasn't playing no games. And so I used to back up my Word docs. Every single, every bit of time I made progress, I would back them up twice, right? Every single time I made like significant progress, I would save it, I would back it up twice. And that enabled me to feel a bit better with myself. Some people are saying Zipdisk. Yeah, we had, we had like floppies, zip disks for a few months and then, and then flash drives.

And so eventually like as my high school career went on, I would switch from floppy disk to thumb drives and I always carried two thumb drives. I was the cool kid with the thumb drives on like the lanyard, right? Yeah. Let, let eat your heart out. Right. And I would. Back up my word document, my essay onto two flash drives every single time. because I was paranoid that something would happen, the power would go out, I would lose all my work and I wouldn't have it. All right, so I always backed up two times. Then, as I got to university, I didn't really need to use flash drives or floppy disk anymore. I did the elite way of backing up my essays or my Word documents. Does anybody know how I used to back up my Word documents once I got to university? Like this was like the next level. I would email it to myself. Like every five paragraphs, I would like save it.

I would save the Word doc and then I would like email it to myself. Like every five paragraphs or so, like I wasn't trying to get caught. I would, I would, I'm just paranoid. Every little bit of changes, I would like save it. I would email it to myself. And back then, if I wanted like others to work on the essay with me, we were doing like a group project. I would like save my essay. I would email it to them. They would like make their changes before like track changed or anything like that. They would make their changes like in a different color. And then if I wanted to, like I could like merge in their changes if I wanted to. Like, it was just, it was a hot mess. Thank you, Microsoft 365 for having automatic backups. And I don't have to worry about this anymore. Right.

But the, the, this idea of like saving a snapshot of our essay or our word doc and backing it up so that we always have copies of it, but the other cool thing was if I just went on like a tangent, like a complete tear and my essay just dissolved into like a really weird argument, what could I do? Like, if I just hate it, the argument that I made in my essay, what could I do? Laugh out loud, I feel this. I would just go like two emails back, grab that copy, download it, and start over again, right? So this like process of saving my essay, emailing it to myself, having the ability to like roll back to previous versions of the essay, being able to share those changes with others is something that I did because I was paranoid about losing my work or because I wanted to work with others or because I wanted the ability to roll back to a previous version of my essay. This is like a very, very simple version of what we call version control and Git solves this problem, not for your Word docs or your essays, but for your code. Git gives you the ability, right? It gives you the ability to make save points. To be able to say, you know what? I like where I'm at right now. I would love to be able to come back to this point in time. All right, this point in time and use the code that I had written then. I would also be able to take these save points and maybe put them on a service like GitHub so that I could share my current code with everyone. Or if I needed to, and say I completely borked my entire computer, I rm flag rf my entire desktop and I got rid of all my code, well, my save points would be on the cloud. All right, so this idea of backing up and saving was a really, my early rudimentary version of version control, and that's all Git is.

It just solves this problem of needing backups, the ability to roll back to previous versions to then eventually be able to take snapshots of where we are, that's what Git does. So Git is a version control system, And all a version control system is, is like a really fancy term for tracking changes. Changes to your code that you make or others on your team make to the code that you're working on. And once you embrace Git, your life changes. It really does change because it enables you to take what we call snapshots. There's like more technical jargon we can throw on here, but we're gonna say snapshots. and they're just save points. Like you've gotten so far in your code, I want to save where I'm at right now. Maybe I want to come back to it later. Maybe I want to do something else different, right? So Git enables us to take these snapshots. And these snapshots you make by making a commit. So commit is just a fancy term for creating a save point. So eventually when we are using Git, we are going to make commits. And whenever you hear me say the word commit, all I mean is I am taking a snapshot of my code.

It's the same thing as if I had zipped it up and emailed it to myself. It is a snapshot that I can use later on, I can come back to, and this liberates you in ways that you do not yet know if you have never used Git and eventually GitHub in the future. Cool. So Git, one of the most beautiful things is that once you make a snapshot, you can roll back to a previous snapshot. So let's say you are writing your code and you get lost in the sauce and you're like, this is horrendous. I should have never, ever done this. What was I thinking? Instead of having to do Command Z, Command Z, Command Z, Command Z, Command Z, Command Z, Command Z, Command Z, Command Z, Command Z, command Z, command Z, command Z, command Z, right? Instead of having to do all that, we could just roll back to one of our snapshots, right? We could just go back to one of our snapshots and just start anew from where we were before. The other thing that we'll see in a little bit is that we can create branches where we can say, all right, I like where I'm at. Let me create a specific branch where I can just, I can just go down this wild rabbit hole. And if I don't like it, I just go back to the other branch that I was on. So Git gives us this beautiful ability to create snapshots that we can either roll back to, or that we can save in the cloud, or that we can use a bunch of other features to like make it easier for us to take risks, to do things that we might not feel comfortable doing, to experiment, to try, and know that we're not gonna keep up everything else. Right?

I'm telling you, Git really does help get this fear out of you. Like, I think when new or entry-level engineers are first really starting to do really difficult stuff, there's always this fear that I'm gonna mess up my code, that whatever tangent I go down, it might break all the other stuff. Well, with Git, you can always roll back to a previous save point. You can always backup your saves to the cloud using GitHub. And if you really want to do something experimental or have fun, you can create a branch, go down a rabbit hole, delete that branch entirely. It's a really beautiful system. Cool. So, I know that's a lot to throw on your plate. I see some folks are saying amazing. I see a lot of folks that see that this could be fun. So let's do a raffle when we come back from our break. When we come back from our break, we're going to see Git. We are going to give you the ability to see the basic Git commands. And if you do not have Git installed already, you can take a peek forward on how to install it. But I'm gonna walk through all those things together.

But we're gonna take our break because we're at the top of the hour. When we come back from break, we'll do a raffle and then we're going to jump into get. I want you to have this superpower today. You walk away with a superpower, this ability to remove fear from your coding process, the ability to save snapshots or rollback points, or have the ability to experiment and save your code to the cloud. It's going to change your coding life. So five minute timer. You'd like to be healthy. If you're able, please get up, move around. Hydrate is some babies. We'll be back in five minutes or a raffle and we're jumping in to get can't wait All right, folks, I'll see you in five I'm gonna run some ads so that other folks that are joining us don't have to sit through them See you then The raffles after the break folks, it's not open yet Haunted happy place, private repos are completely free. So not everyone has to see it talk about that a little bit You Where do you post clips at the end of the stream? I will in the following materials channel, I'd like to follow up after stream. I'll post a slider where you can submit your clips. I'll say this this this run since Microsoft is sponsoring. I'll do a I'll match a swag So the best clip gets swag this evening as well Not just the beautiful golden color Already folks, come on back.

Come on back We got two lovely raffles to get through let's go ahead and get this raffle Let's get this raffle dud. And then we'll move into get. So I'm going to open it up. It's not open yet. Oh, y'all love to get in here quick. All right. So this is for folks in the U S I'm going to open it up in 3, 2, 1. It's open. You can do exclamation point raffle to get in. If you did it earlier you were not in so type it again Thank you again Microsoft Azure for sponsoring anyone has to do all these lovely raffles Get in here folks and put 20 seconds on the timer You got this All righty, get in here, then we're going to get into Git, we're going to see this amazing superpower in action, we're going to see how to get all of our code also on GitHub, we're going to see how to host Dark, it's going to be awesome. All righty, let's go ahead and close these and pick our winner Three two one Zank nods and can add a congratulations Should see your name in the in the stream in the stream as well Congratulations gonna complete this one And we're gonna do our outside the US learn with Leon swag Entries are open get in here exclamation point raffle if you're outside the US Beautiful get in here get in here 20 seconds left on the timer This is the best, this is the best week ever. We're learning, we're getting swag, what? This is the best. Alrighty folks, I'm gonna put this timer over here, we're gonna close the entries, I'm gonna pick the winner, 3, 2, 1. Congratulations on the win for both the folks that just won you'll get a whisper from me here on Twitch this weekend congratulations neuro leptin oh that's interesting good one congratulations everybody let me go ahead and complete this i see your woo all right Let me just mark that down over here and we'll keep going.

We're gonna get into this git folks. I'm excited This is like one of my favorite things for you to unlock. It's literally a superpower. It'll change How you handle your code going forward? All right I love when the music just like times perfectly with us continuing All right. There are many ways to install git if you are not able to install git before class. That's okay You don't have to have your fingers on the keyboard for this section. I'm going to show you the important bits. We're going to see it live, and then we're going to do some raffles. So don't feel like you have to have it installed already. If you're on certain operating systems, it comes installed. But if you're on Windows, I recommend Git for Windows for today. That'll walk through Git Bash. It'll give you a version of Git that you can use. And then eventually if you're on Windows is for the rest of 100 devs, you should use WSL.

So both these links are in the slides. And then if you're on macOS, I really love Homebrew. So what you would do is you would take this link here and you would grab it and you would paste it into your terminal over here. Whenever you see the bling, like the money sign, that's not something that you enter into the terminal. That just means anything that follows this gets entered into the terminal. So you would grab from that forward slash over and then you would paste that into your terminal over here Once you do that, you would have a homebrew install homebrew is what we call package manager It's like a really easy way to install applications on your computer So you could then do brew install git and it would stall git on your computer You don't have to like go to a website. You don't have to download something. You don't have to unzip it You don't have to run an executable Homebrew is for Mac OS, but there are plenty of package managers for Window and then even GNU Linux. So Homebrew is really cool. Whenever I want to install something, I don't like actually go on the internet and install stuff. Like I just go to Homebrew. I want to install Firefox. I would do brew install Firefox, right? And so the idea here is that there are similar things, Chocolaty exactly for Windows as well, but package managers are amazing. They just enable you to install stuff really quickly.

They handle like all, you can do all the updates and stuff like that as well. So big fan of Homebrew on Mac OS. GNU Linux, if you're on it, and certain flavors of GNU Linux, you're gonna have different package managers. So if you're on Debian or Ubuntu, you would use AppGit and you could just do an update and an install and that's how you could get Git, but you should already have it installed on GNU Linux. You just wanna have the updated version. and then once you have git installed, no matter if you do it right now or if you do it after class, don't worry if you don't already have it installed, just do it after class. Once you do have it installed, there's two commands that you almost, you always want to run these commands before you do anything else, right? So these two commands are really important. These will set your global username for git and your global email for git. And whatever email you use, it should be the email that you use for GitHub just to make your life easier, okay? So whatever you set up for your name and email, just make sure it's the one that you eventually use for GitHub when you create your GitHub account. It'll just make your life a little bit easier. But what this does, what this does is it makes sure that every commit that you make is identifiable to you. Like it'll show you that like, oh, you were the person that made that commit. And maybe when you're working with other engineers, it'll show that they made the commits and so are those snapshots, right?

So always make sure you have these two things set up. Some folks forget about it and then they go to get their code on GitHub and they have some issues. So make sure you have these two commands once you have Git up and running, cool. So I'm gonna give folks just like a minute or two to try and get Git installed. and so I am going to run a raffle while we let folks try and get Git installed if they want. You don't have to, like I said. I'm gonna show you some small commands that you can do on your own, but we're gonna put a timer up on here. We're just gonna do like, just do for three minutes. Three minutes if you just wanna try install Git. It's all right. I'm gonna give you three minutes, and then while we're doing that, that we're gonna do some raffles. So I'm gonna do the first raffle for folks in the U.S. Let's go ahead and open that raffle up. We don't get got, we go get. There we go.

We do exclamation point raffle. We'll let this go until like 1.45 and then we'll close it and then we'll do the outside the U.S. And so right now, feel free to try and install Git if you don't already have it. A lot of you probably already do, especially if you follow the instructions before class. If you don't already have Git, that's okay. Like I said, we'll go through it together regardless. And if you get really stuck, sometimes when you're installing Git, it just does the most. If you have trouble, come to Discord, ask questions, come to office hours, ask questions. We'll help you get set up. All right All right, folks, I'm going to go ahead and end this one and close the entries pick a Mermadet. Mermadet. Hey, congratulations. You won the MS, the Microsoft swag pack. Mermadet, go ahead. You're going to get a whisper from me this weekend.

Congratulations. All right, let's go ahead and complete this one. And we're going to open up a, another one for For anyone outside of the US, opening now, you can do exclamation point and raffle to get in. All right, about 40 seconds left. All right, come on get in here and hit zero I'll close it For that person, it's going by really fast chat because of all the raffles, but for some folks have trouble making directories when they're in get bash if they don't do CD to their home directory first. It's like a CD with nothing after it takes you home directory and then some of the commands start working. So try that. All right, let's go ahead and close this one. I'm going to pick a winner. Mental Ram, a mental ram. Congratulations. You'll get a whisper from me this weekend with your learn with Leon swag. Congratulations, Mental Ram. All right. You know what?

Let's do another one. Let's do another round. If folks are still trying to install, we got them. Let's go ahead. Let's do another round. We'll go ahead and do another Microsoft raffle. Another raffle sponsored by Microsoft Azure. So we go ahead and open that up real quick. One second. All right, three, two, one. It is now open, exclamation point, raffle another round. I wish we could do this every class. Just like whenever we needed to do like break time or like y'all are working on stuff, just raffles. That'd be dope. All right, let me just put the timer on here.

Just gonna use this for 30 seconds. We're not gonna go the full three minutes and do 30 seconds I'll stop and then we'll do the next one and then and we'll we'll get back to our get This is the US Microsoft swag, yes All right, I'm going to go ahead and close the entries. Pick a winner. Three, two, one. Lab underscore underscore lab. Congratulations on the swag lab. congrats, you'll get a message from me on Twitch. Uh, I'm going to actually, I'm just going to copy your name. Cause I don't actually know how many underscores that is. Uh, so hopefully there's not a lab with one underscore. All right. Lab. Congratulations. I'm going to complete this raffle. We're going to open up one more.

Anyone outside the U S Garland key. Hey, thank you for the five gifts of subs. I appreciate you. Thank you for being here All right, that's open exclamation point raffle anyone outside the us can get in here Let's go All righty, 15 more seconds and then we'll close it. We're going to get into Git, unleash your Git superpowers, and we're going to be able to store our code on GitHub, and that's going to change how we submit homework. It's how we do everything going forward. You get swag. You get swag. Exactly. Alrighty. I'm going to go ahead and close this one out. I'm gonna pick a winner in three, two, one. Nick's Woolery, Nick's Woolery. Hey, congratulations, Nick's Woolery. You'll get a whisper from me this weekend.

We'll get that Learn With Leon swag coming your way. All right, folks. Let's get into some Git, shall we? Alrighty. Let's chill the music. We did our raffles. Lovely. We still got plenty more raffles to go folks. We still got, let's see, we still got three more Microsoft raffles, three more regular raffles, and a laptop raffle, folks. The raffle bot was broken last raffle? I don't think so. I still saw all the entries come in. I think eventually the messages are too much for Twitch because there's so much of them. But yeah, no, I saw all your entries come in. There was like 800 plus entries, so they came in.

You probably just didn't get the ping or the message, but it was, it was working, you know? Cool. Yeah, TicketBot passed out, exactly. Alrighty, let's talk about some basic Git commands. There are really kind of like four or five commands that you're always going to use. I'm gonna show the simplest versions of these commands. Know that as you get a little bit more into it, there are gonna be special flags that you would use. There's gonna be ways to select everything in slightly different ways. I just want to show the simplest things that would kind of build off of what we've already seen in the terminal. And then as you kind of get more into Git, you'll learn a little bit more and a little bit more of the flag. So give me a little bit of wiggle room here. Flag A versus dot. We're gonna use dot because we already saw dot today and what it could do, all right? Right? Beautiful.

So we talked about Git being able to take snapshots of our code, right? Well, we need a special folder to put our snapshots into. And that special folder we create using Git init. So with Git init, we can create a special folder that we can store all of our snapshots in. we are initializing a git repository. So you're going to hear the term repository. And so just think of a special folder where we're going to store all of our snapshots in it. All right. So we're not, this is not top boy. We're not London slang around here. We are creating a special folder or a repository for our snapshots. Okay. Alrighty. So we have get in it, which is going to create that special folder. So I'm actually going to do it right now.

If I wanted to see all the folders that I have, right? I want to see all the folders I have, including hidden folders. What would the command be in chat? If I want to see all my folders, including hidden folders, Ronan got it first. Nice. LS dash LA. If I do that, I can see all the stuff that's inside of this example folder. I can see that there is a CSS folder, a JavaScript folder, and an index.html file, right? And so what I want to be able to do is I want to be able to create that initialized, I want to create that special folder. I want to initialize that special folder for our snapshot. So I'm going to do git init, and you can see I created an empty git repository, a place where I can store those snapshots. Now, if I was to do an LS, I wouldn't see that repository. I would just see the CSS folder, the HTML file and the JavaScript folder. And so that's kind of really the first time that our LS-LA can be really useful, right? When I get all the goods, I can also see this hidden repository, this hidden Git repository.

so that ls flag la can be really helpful to see if there's a git repo already in your folder or not. Should I be doing this on bash? If you want to, you could also just pay attention as we move along. There's only a few commands that we're showing that I want you to be comfortable with. Cool. So once we have this repository where we can store our snapshots, we're gonna wanna gather all the files that are gonna make up the snapshot. But we don't kinda just chuck them into the Git repository or that special folder that we just initialized. We're gonna gather everything on a stage before we take our snapshot and put it in the folder. It's kinda like if I was going to email myself all the stuff I was trying to save, I have to put all that stuff into a folder before I zip it and then email it to myself. Well, the same thing happens when we're using Git. We have this special folder. We're gonna store our snapshots in our repository, but we wanna gather all the stuff before we put it into that folder. And so Git add enables us to kind of grab all the stuff that we need. We're eventually gonna need our CSS folder. We're gonna need our HTML file.

We're gonna need our JS folder. And so what we're gonna do is we're gonna add all of that to a staging area. And so git add just adds all those files and folders to a staging area. Eventually we can use a special command to take the snapshot that saves all that stuff into the repository. Beautiful. So here, if I wanted to, I could add an individual file. So I could do something like git add index.html and that would add that file, right? That would add that file to my staging area. I could add any file that has a certain ending. So let's say I had a bunch of HTML files. I could do asterix.html and that would add all of the HTML files to my staging area. And if I just wanted to add everything to my staging area, I could just do get add dot, right? Like I said, there's some other ways to do this, but I think this is simple. And so if I do get add dot, I now have added everything that I had, right? All of my stuff that was in this folder is now in a staging area.

I haven't put it in my snapshot folder, right? I haven't actually saved it to that special folder yet. It's on the stage. It's in the staging area, right? And when I am ready, I can take a snapshot of everything that's on the stage and put it in that special folder, right? The special word that we use to take the snapshot of everything that's in staging is called commit, right? We're going to commit our files and folders that are in staging. And once we commit them, we add them to our special folder, right? So if we were going to draw this out, we would have our special repository over here where all of our snapshots get saved. Before we put them in that special folder, we have a staging area. What git add.does is it enabled me every single file that was in this folder just got added to staging. My CSS folder, my HTML file, my JavaScript folder, all of that got added to the staging area. What I will do next is I will commit all this stuff that's in the staging area and put it into our special repository. And then we will have kind of like a little save point that's in that repository. Right now, we could do this over and over again, right?

We have our special area that has one save point, but I can make a bunch of changes, right? I could add a bunch of new files, a bunch of new folders. And if I wanted to, I could add them all the new files to our staging area. So I could have my original HTML file, my new HTML file and my JavaScript file. Once I feel comfortable, I could take that snapshot and add a new save point to my repository. So if we look at the commands that we learned, no! If we look at the commands that we learned, we had getinit, which created that special folder where we're gonna save all of our snapshots. Then what we're able to do is we're able to add individual files or all of our files and folders to a staging area. Eventually, whenever we're ready, we'll go ahead and commit all those files and folders to take a snapshot that gets saved into that original repository that we created. Cool. Now, if I wanted to, right now, have I made that snapshot? Have I made the snapshot yet? No, I haven't made the snapshot yet. So I can actually do something pretty cool. I can do get status and get status shows me all the stuff that is waiting to be saved, that is waiting to be part of that snapshot.

You can see all the stuff that's waiting to be committed. So right now I can see that, oh, I have my CSS, my index.html, my JavaScript. We've added it all to what area? We've added all these files and folders to what area? The staging area. Yep, we added them to the staging area. And if I wanted to, I could actually remove files from the staging area if I wanted to with this command. This will enable me to remove, of just say like my index.html from the staging area. But once I feel comfortable, I can commit everything that's in this staging area, take a snapshot of it, and that snapshot gets saved into my Git repository. So what I'm gonna do is I'm just gonna do git commit, and I'm gonna do it the long way, and then I'm gonna show you something scary that might happen. So I'm gonna do git commit. I'm gonna use M for message, and I'm gonna leave a special message about this commit. So I'm gonna say this is all of my original files and folders below Twitch, right? So now when I hit enter, you can see all of my history has now been saved as a snapshot and that's now in my repository until I get rid of it. And so the idea is now if I look at you get status, you can see that there's nothing to commit.

Everything has been saved. So all these steps, all this did is like if you've ever played a video game and you hit saved, right? You hit saved and then like you turn off the game, you go away and you come back and you load up that save file, that's exactly what we just did, right? What we just did is we said, all right, wherever I'm at in the game, save this point in time, right? Save this point in time and then at any point in time I can come back and pick up exactly where I am. I could come back at any point in time, right? I could come back at any point in time and go back exactly to where I had this folder, this folder, this folder, this HTML file with everything exactly the way it is. Now let's say I added a new file. So I'm gonna go ahead and do touch about.html. So I have a new file. Now, what I want to do is create a new save point that has this about HTML in it as well. So I could do get add dot. If I did a get status, you can see that, you can see that I haven't made a snapshot with the about yet. And then I could do get commit dash M and I would say, add it the about HTML. Boom.

Now I have two save points that are inside of my git repository. I have one save point that had just the index.html and I have another save point that has the index.html and the about.html. So just like I used to create saves and email them to myself or make saves and put them on a floppy disk or make saves and put them on a flash drive, I now have the ability to have multiple save points, multiple snapshots, right? Multiple snapshots that I can roll back to whenever I want to. All right, I can come back to any of these snapshots. I can come back to any of these versions. And so this is very freeing because if you're ever playing a really, really hard video game, if you're ever playing a hard video game and you know you're about to go and play the boss, like the big boss that you're about to go up and play, what do you do before you fight that big boss? You save. You save your game before you go and fight that big boss. You should do the same thing with your code. Before you tackle that next feature, before you tackle that next bug, before you tackle that next big thing you have to get done, create a save point, create a snapshot, git add dot, git commit, right? You now created a save point so that if you go up against that boss and you lose, you can just go back to your previous snapshot. You can go back to that save file, right? And so that's all we're doing here. We're creating these save points, these snapshots that we can roll back to if we need to.

Cool. Now, there's one other thing that I want to do, and that's eventually I want to get to branches. But before we get to branches, we're definitely going to do a raffle because it was, this was a lot to take in. It's a lot to take in. We'll practice rolling back during office hours. I think that would be a little too much for right now. So come on Sunday, I'll show you how to roll back the previous same points, but I am going to show you how to see all your commits. There's one thing that I want to bring up before we kind of move on and do a raffle is that there are kind of two ways to do commits. You saw me do the easy way, which is the get commit flag and text. But what often happens is people just do get commit and they get themselves into a tricky spot. Let me show you the tricky spot you can get into. So let's go and create a new file. .touch, .tricky, .html. And I'm gonna go ahead and add it. I'm going to commit it, but I'm not gonna do the flag m.

Ready, I'm not gonna do the flag m that enables you to put the message right there. I'm just gonna hit enter. And uh-oh. Many, many, many have adventured and found themselves in this, this area. Uh, what I just did is when I did git commit and I hit enter, it dropped me into a text editor that exists solely in the terminal, so there are text that you can use, Vim, V, Emacs, these things that exist as text editors that are only in the terminal. So if you were to ever just hit get commit, what it does is it says, oh, you're trying to type a really long commit message. So I'm gonna open up the editor in your terminal so you could write this really long commit message. So we're gonna do I, and then we can type in whatever the heck we want, right, for our commit message and then we can hit escape colon w q hit enter and now we've made our commit so if you ever find yourself in trouble where you just did commit get commit and you wind yourself in vim you're going to want to do a few things you're going to want to type the letter i the The letter I enables you to insert and like type stuff. And then when you're ready to leave that text editor, you got to hit escape colon WQ and then hit enter. And that'll take you out of him and back to the terminal. So I don't ever really use this. If you watch a lot of other streamers here on Twitch, like there's some folks that are really good at this stuff. Primogen is like going all wild in here, right? We love watching them. We read them, we read them before, right?

This is just the emergency if you find yourself in here and you need to know how to get out. You always have these slides to refer to. I, type your message, escape, colon, WQ, hit enter. All right. But most of the time you're just gonna use this type of commit message. Yeah, I agree. Vim is awesome. It's definitely worth learning. I just think it's too much in the rabbit hole for this class, but definitely something and you might even pick up in the end. Corey LRA, thank you for the 10 gifted subs. That's wild. Thank you so much. Thank you for being here. Cool. Alrighty.

There's one other thing that I wanna mention too is that if you haven't installed or updated Git recently, you're gonna notice something really interesting. If I do Git status, it will always tell you what branch you are on. And we're gonna get there in a second. and we're gonna do our raffle and then we'll talk more about branches. But you can see that I'm on branch master. And around October of 2020, there was kind of a movement to switch away from master and start using main. And so GitHub was one of the folks that kind of led that charge. And so it's main now. So if you are to use an older version of Git, you would probably still see master. And so you would want to change the branch you're working on from master to main, especially if you know, eventually you're going to use GitHub because GitHub is going to expect your main branch where you're doing all your work, where you're doing everything to be main. So we can change that real quick and then we'll do a raffle and then I'll talk about what the heck branches actually are. So get branch m main, beautiful. So now if we do get status, We can see that we're on branch main. Cool. Alrighty.

Let's go ahead and do a well-deserved raffle. Well-deserved raffle. We now know how to make save points in our code. That's so helpful. To be able to make a save point and know that if you up everything else, you can come back to that save point and have everything the way it was. It's all your folders, your files, exactly the way that they were. All right, let's go ahead and run a raffle. We'll do a Microsoft raffle first. One second, gotta set it up. All right, opening in three, two, one. All right, get in here. You got it, if you typed it in early, you gotta do it again. Exclamation point raffle. Put 30 seconds on the clock here. boom, get in here.

This is for folks in the U.S. Exclamation point, raffle. Hard topic, raffle. Hard topic, raffle. All right folks get in here We got this We got this. All right Come on. Let me uh, go ahead and close the entries here I'm gonna go ahead and pick a winner and the winner is Kukukuchu06 is the winner, congratulations, kukukuchu06, congrats. Alrighty let's go ahead and complete and then I'm going to open up one for anyone outside of the US. It is now open exclamation point raffle to get in here. Beautiful. We'll look at branches. We'll see a little bit about GitHub and then we'll finish up the evening with two more sets of raffles and a laptop raffle, which is pretty wild. All right, 10 more seconds, get in here, see y'all entering. Alrighty, let me go ahead and close the entries. We're gonna pick a winner in three two one Eddie from two five four is the winner Congrats Eddie two four Eddie from two five four Congrats on your learn with Leon swag Cuckoo and oh six and Eddie from two five four get some whispers from me this weekend you get you all set up with that swag Congrats All righty, let's look at these idea of branches, which I think are some really amazing, wonderful things that really changed my coding life.

And then we'll look at GitHub, and then we'll call it with some raffles and do a raid. All righty folks, so we learned about Git, and we saw that Git can make commits or snapshots of our code that we can roll back to if we want to, right? But what if you want to try something without borking all your code? Git actually gives us this really wonderful feature that we don't have to rely on just rolling back. We can actually kind of create branches from our main code. So if we have like our code base that we're working on and we just want to try something, we want to like try a feature. We want to kind of do something that might be a little risky. We can make a branch, right? We can make a branch. We could do all of our changes in that branch. And if we don't like it, we can just go back to our main branch. Or if we do like it, we can merge everything from that branch into our main set of code. So let's go ahead and take a look at this, this idea of branches. So I'm gonna go ahead and clear here, and I'm gonna do a get status. By looking at this, what branch am I currently on?

Like where am I at? Like if we're thinking about all my code, what branch am I on? I am on main, beautiful. So we can see that I am on main. What I can do is I can create a new branch where I make all my risky stuff happen. So I'm gonna create a branch called risky. Cool. And then I have to check out that branch. So I'm gonna do git checkout risky. And if I do a git status, you can see that I am on branch risky. Cool. So what I want to do is now that I am on my risky branch, I want to go ahead and make some changes. I want to create a risky file, something that I wouldn't want to do on my main set of code, something that like, I know I'm going to go deep down into a rabbit hole, right? I want to try something out. If I don't like it, I just want to be able to get rid of it.

So let's go ahead and make a risky file. So I'm gonna go ahead and touch risky.html. Beautiful. So we can see that I have my risky HTML file, right, I have my risky HTML file. And what I wanna do is I wanna go ahead and do my normal process, add all my changes, commit all my changes, and then I want to go back to main. So I'm going to go ahead. I've made my risky changes. I have my risky HTML file. That was something that I didn't know if it would break a bunch of stuff. So I'm just going to go ahead. I did it. I'm going to do my git add, git add dot, and do my git commit bash m. I made some risky changes. All right, and I'm gonna do a get status. You can see that I'm on the branch risky.

I made all these risky changes. I, however, don't like the path that I've gone down. I wanted to go back to my original set of code, right? I wanna go back to my original set of code. Pay attention real quick here. We can see right now I'm on the Risky branch. If I do a git checkout main, what just happened? Did you see it? Did you see it? We switched to main and Risky's no longer there. All those changes we were worried about, all those changes that we are afraid if it would break all of our code, they're gone because I went back to main. Let's go ahead and get checkout risky. As soon as I check back out risky, all of my code, all the risky stuff I did on that branch comes back and I can do it, I can use it however I want. I can go in, I can make a bunch of changes. What if you had a bunch of different features you were working on?

What if you had some HTML features, some JavaScript features? You could do them in different branches if you wanted. You could do the things you were worried about in a branch if you wanted. And if you didn't like it, you just switch back to where you were. Nice. That's pretty cool. That's pretty cool. I love coding. Me too, this is so cool. You can now write code risk-free, right? You can make a whole branch, you can go wild to your heart's content, and then if you don't like it, it's as simple as get checkout main. You're back to where you started, all that risky business is gone. Cool. Can you combine branches? Heck yeah, you can.

So let's say you did enjoy the Risky business. You eventually figured it out. You liked it. You thought it was a good change and you want it to be part of your main code. Well, you can just do a git merge. We can do git merge Risky, right? And there we go. We can see Risky is back. You can see Risky is back. If we do a git status, You can see that we are on Maine. Where does it keep the files from the branches we aren't using? Well, what did I do with those files that were on the risky branch before I jumped back to Maine? What did I do? Remember what I did? What did I do before I jumped back to Maine?

I committed them, so I made a save point. So that save point is saved where? Where is that save point I made a risky saved? Yeah, I committed them. So that save point gets saved in our Git repository. Yeah, in our original folder that we created. So even though it's on a different branch, it's still getting saved into that folder. Oh, Rossi, I like to merge stuff back into main. Main's my main branch. I do all my risky stuff, all my fun stuff, And then I merge it back into main. Cool. But I hope that I know like a lot of this, the very first time you see it is, this is, this is a lot, right? It's a lot. The first time you see it, I'm so happy. Some of you are like, like mind blown.

Amazing. Right. But don't feel pressure on yourself to think that all this terminal stuff is something that should be clicking right now. No, come on, come back, rewatch the VOD, follow along at your own pace. The slides. I think these are some good slides. every command that I have used, I have put into the slides step-by-step. So you could come back to this VOD, come back to these slides, and literally go slide-by-slide and have all the exact commands. Especially if you didn't get a chance to watch the videos and do the homework coming into this class where you practice some of this beforehand. But you can come back to these slides, you can come back to this line-by-line and work through it on your own. Cool, and then come back on Sunday, we're gonna get tons more practice in, we're gonna do all of this, we're gonna do rolling back, we're gonna do all the fun stuff that makes Git a superpower. Cool, so we just used a branch, we created that Risky branch, we had our fun, we liked it, we merged it. I want to show you one really cool thing, and then we'll end with all of our raffles. And that cool thing is GitHub. We have all these save points, all these save points that we could roll back to, maybe a bunch of branches that we'd want to swap back to, but right now they're all what?

They're all where? Yeah, they're all local. They're all on my PC and knock on wood, I gotta get some salt to throw on my shoulder. If my laptop was to die, all the stuff that I had saved would poof and disappear. So the wonderful thing is that we can take these Git repositories, these places where we're saving our snapshots, and we can have a remote backup. GitHub enables us to take our snapshots and put them in the cloud. So with GitHub, I can take all the snapshots I've been writing, saving, sorry, and I can put them onto a remote area, right? So I can take all my local snapshots and save them in the cloud using GitHub. So it's the difference between a local repository and a remote repository. We can have all these backups in the cloud. So the cool thing about GitHub is it not only is it backups in the cloud Which public and private repos completely free? It was that Leon so that I was does Simba Not only was not only do we get these beautiful backups in the cloud Right, but we also get a whole suite of tools that make it easier to work with developers Because now developers can take our snapshots. They can download them They can make their own changes in their own branches and do all that fun stuff, and we can have these shared repositories on GitHub that make collaborating with other engineers way easier. There's also a lot of other tools that come with GitHub, lots of really neat stuff like hosting through GitHub pages, but they also rolled out actions. and so now whenever I put my code on GitHub, we're gonna call it pushing, whenever I push my code to GitHub, I can also trigger a bunch of other stuff to happen, like have my stuff hosted somewhere, it's really neat.

So GitHub at the beginning is where we're gonna use backups, but for now, if you don't already have a GitHub account, make one after class, so that way you can push up the code that we did today to GitHub, have it saved in the cloud. You can never say again, Leon, I didn't turn in homework because my computer died. Well, guess what? Every time you made some code, you should have pushed it to GitHub. So all your code should already be on GitHub. Cool. So once you create a GitHub account, you can push your repositories up to GitHub. So I'm gonna show you how to push your code or your Git repo to the cloud, to GitHub. All right, so from GitHub's website, we go to GitHub, whoop, we go to GitHub. I'm just gonna go to my profile here. Confirm. Cool. We go to GitHub, and I have this lovely plus sign. I have this lovely plus sign. and when I click that plus sign, I can create a new repository.

And this new repository, right? This new repository, yeah, look at this. Young Lee, I need to get a new headshot. New repository. And when I click on new repository, I can name the repository. So I'm gonna name that repository, we love Microsoft. So that we're going to name this repository. We love Microsoft. It'll be public, meaning that anyone can see it. I'm not going to do any of these extras. I'm just going to create the repository. And the beautiful thing about this is it gives you all the commands that you would need to run to get your code up here on GitHub. So these are all the commands that we could do if we didn't already do them, but we already created our own Git repository. We could add a readme file, which is like a text file that says, kind of like what's happening in your repo. We'll get into readmes later, but it's just basically a text file that comes along with the repo to explain what's in the repo, what's there.

I'm actually gonna share templates with you for your readme so that your readmes look really good, crisp. Whenever somebody is looking at your GitHub, your GitHub portfolio is gonna be popping, I got you. You can see that we already committed our code. We're already on main. So a lot of this stuff we've already done. So the only really two things we have to do is add our remote. And what the remote means is that it's where we're going to send our code that's not local. Local would be like on my actual laptop. Remote is like, all right, where am I sending this to remotely? And I'm sending it to this place on GitHub. So I'm gonna go down here, I'm just gonna paste this in. Get remote, add origin, and then the repository we created, we love Microsoft. And then the last thing I have to do is just push up my code. So the very first time you do this, you need the git push uOriginMain. Every other push afterwards is just git push.

Let's go ahead and paste in, hit enter. It'll take a second. You can see I pushed everything up. And if I refresh this page, you should be able to see all the code that we've worked on together today, right? So now this code, every single thing we worked on is now stored remotely on GitHub. It was just a few seconds, a few clicks. I know it's fast the first time you see it, right? But you can come back, rewatch the VOD at your own pace, do it at your own pace, but it really is like three or four clicks to copy and paste and boom, all of our code is now backed up on GitHub and we get all these goodies. We can share this with other, we can share this with other developers. We can even go ahead and look at all of our commits. So if I click this right here. Here are all the commits that we made, so you see the original one that was all my original files and folders. You can see all the stuff I added. If we go back, we can see our. Here's where I made some risky changes and here all the stuff I made.

You can see all the commit messages that I made, right? So here's the one that we did in in in Vim and then here is like all the other ones that we did with the command M. So the beautiful thing here is we have all of our code here. It's public, I could share it. Does it handle assets? Yes, you can upload your images, all your stuff here, right? For me, I had my, I had something called an SSH key here, so I didn't have to enter my username and password, but if you haven't set up your SSH key yet, when you hit get push and you hit enter, it would ask you to put in like username, password, but I think that's changed recently too. but whenever you enter a password in the terminal, it's not gonna actually type out your password. It's just gonna look blank, right? Yeah, it's gonna look blank. So you might have to do like an extra step to get a token set up or things like that. I'll share a file after class, but once you have that set up, it's just as easy as I showed. Yeah, cool. All right, so the last thing I wanna show you is that all of our code, right? All of our code, right?

Yeah, GitHub now needs a token, yep. Now all of our code is on here, right? If I wanna host it, it's only one more step. You ready? I'm gonna create a new branch called gh-pages. And I'm just gonna go ahead and click create branch gh-pages. All right, now I've created a branch called gh-pages. And so now, if I go to leonnoel.github.io slash welovemicrosoft and I go to my index.html, it's going to take a second for it to load. It takes like, I don't know, like 20-ish seconds or so for it to get there. But after you wait those like 20-ish seconds or so, you'll see that it'll load our actual HTML file that we just typed in. It takes a little while for it to like upload, that's why. But if we give this a few seconds and then come back, it would work. So we go ahead, we love Microsoft. We have our index.html. That was the name of the repo, right?

We love Microsoft. Yep. Now we have our gh pages. We give it a few seconds. And then once it, once it's there, we it's hosted, our code is completely hosted for free. It's, uh, we didn't have to do anything else. We could share that URL with anyone we wanted to share it with. And it would just, it would just work. So we'll wait like 20 seconds or so we'll come back and show it. But yeah, the idea is like everything is hosted now. That's pretty dope, that's pretty dope. So not only do we have the ability to make save points, now we have the ability to like create branches to do risky stuff. We can take all of our save points and put them on GitHub so that we can share them with others, so that we can have backups in the cloud of all of our code. We can have a whole suite of tools that makes it easier to work with other developers as we're working on our code. We get free hosting.

All of our HTML, CSS, JavaScript, all of our static files are hosted. It's completely free. How often should I push, save, commit? As often as possible. I do it quite frequently. Every major thing that I work on, every feature, whenever I'm gonna go take a break, I push it. There's really no downside to push in too often and you get all these other goodies, get all this other cool stuff and you can see our site is fully hosted. So thank you Microsoft Azure for sponsoring this class, for helping us unlock the power of Git and GitHub, uh, for helping us entry-level engineers get free places to host our code, private repositories are completely free. What? Look, we could share this link in chat and it would work. That's so cool to me. This is the coolest stuff ever. Cool. Alrighty, folks, that's, that's the whole kit and caboodle. So let's come back and we talked through GitHub, we talked about how to host our repos.

I think it's time to end with some raffles, but your homework, if you haven't tried it yet, is now that we know a little bit about Git, come back on Sunday, we're gonna get more practice in the terminal, we're gonna do more with branches, we're gonna do more rolling back to our save points, right? We are going to get more practice on Sunday, But between now and Sunday, I need you to do some homework. If you haven't yet already, you can click this link. And when you click this link, you'll be prompted to give Microsoft your email. Give them your email. Come on, they give us so much swag and cool stuff. And then you'll see two courses. I want you to do the intro to GitHub course, right? The intro to GitHub course is great because it shows you all the extra features that we haven't been able to touch on yet in just this class that we're gonna be using going forward. So I'm expecting you to get through that course before next Tuesday, ideally Sunday, because we're gonna talk a lot about all those extra features. But starting next Tuesday, we're gonna use a lot of those features going forward. And so make sure you do the intro to GitHub so you understand all the cool stuff that like once your code is on GitHub, what can you do with it? So that's the link, you need the link, it'll be in the follow up on Discord after this class. It's just the aka.ms slash learn with Leon. It'll take you to the intro to GitHub course.

It's a phenomenal course. It'll help you learn all the cool stuff that you need to learn for GitHub. And then we're gonna start using that next week. All right, let's end with some raffles. We have, we have, let's see, one, two, three. We have two more Microsoft raffles, Two more learn with Leon raffles, and then we're going to raffle off of the laptop. So let's go ahead and Start our first raffle here one second All right, the Microsoft raffle is open Exclamation point raffle. Let's get in here Huge shout out to Microsoft Azure. Thank you so much for sponsoring this class. Thank you for continuing to sponsor a hundred devs Thank you for making your tools free for entry-level engineers to use. It really does help a lot. All right, let's put another 20 seconds on this timer. Let's do 15, so it's been running for a little while. Cool, 15 more seconds, and then I will close it up. We'll do it, anyone outside the US, we'll do another Microsoft, we'll do outside the US, and then we'll do the laptop.

Mr. Clutch. Hey, thank you for the posture check Garland key cori lr. Thank you for the gift of subs these clouds. Hey, thank you for the hydration cheers to you All right, let's go ahead and close this one We're gonna pick the winner three two one Bened 13 Bened 13. Congratulations. You got a Microsoft. We got a Microsoft swag pack coming your way Let's go ahead and start a raffle for folks outside of the u.s. This is for outside the u.s. Open now go ahead and Get in Actually, hold on it might not be open yet one second. I asked you to do it again. I'm going to try it again. Oh, no, it's open. It's open. Oh, I didn't complete the last one.

Sorry. All right. That one's completed. Go ahead and do type exhibition point raffle again. If you're outside the U S it wasn't open. All right, get in here. Another 15 seconds on the board there. And we'll do one more Microsoft one more outside the U.S. and then we'll call it. All right, I'm going to close this one. Oh, it's going to pick the winner for the learn with Leon swag. XOX Siren, XOX Siren, congratulations on the learn with Leon swag. and grab that we're gonna open one more Microsoft raffle you're inside the US go ahead and get in here exclamation point raffle this is our last Microsoft swag of the evening. Get in here. 15 more seconds on the board.

Hope you had a little bit of fun learning some Git and GitHub. I know it can be tricky the first couple of times you see it, but come back on Thursday, sorry, come back on Sunday. We'll go over it again. And then Tuesday, Thursday, we're going to keep working on it too. So lots of fun with APIs on Tuesday. Reminder tomorrow, the best week ever continues. We have our wonderful first Friday with friends will announce the special guest soon They're amazing contributors community really excited to have them for the first Friday with friends Saturday we're taking over our place on reddit Sunday we're back for office hours Monday we're gonna do a little bit of a mentor Monday and some the the portfolio resume review and then Tuesday We're back with the last day of the best week ever tons of surprises really excited. Alright, let's close this one Closing the entries, picking a winner. ValStorm1, hey, ValStorm1, congratulations on winning the last Microsoft swag of the evening. We got one more to go for folks outside the US and then we're doing the laptop, folks. All right, so this is for folks outside the US. Exclamation point raffle, it's open, get in there. and then we will do the laptop and what a beautiful laptop it is folks let's pull that back up look at this surface laptop go it's so beautiful oh so sleek so lightweight. Login fast. Love it.

Love it, love it, love it. Alrighty, let's close this last outside the US raffle. I'm going to pick the winner 3 2 1 all righty congrats x140 hue41 x140 hue41 congratulations on that learn with Leon swag everyone will be getting whispers from me this weekend so keep an eye on your twitch whispers we'll get everything set up to get the swag coming your way We're gonna open up the last one this evening. This is for a new surface laptop go So sleek so beautiful. Let's go ahead and get that one open one second Already the the name of this giveaway is laptop, baby Let's go ahead and start it get in here. This is open to anyone. I'll send this sucker anywhere So go ahead exclamation point raffle open that every single person let's put a minute on the clock Minute on the clock get in get in get in All righty it in here 30 seconds left Alrighty, folks, we'll do this last raffle and then we're going to raid and do the last raffle and then we're going to raid. We're going to go over to Hiccup Interactive. We haven't been there in a little while. They're working on a spawn randomization counter. And how awesome is that? Because we were working on randomization for the rock, paper, scissors. I think this would be a good raid. Let's go ahead. And this is for the laptop, folks.

Let's go ahead and close the entries. Once again, thank you all for being here. Thank you Microsoft Azure for sponsoring this stream. And let's go and pick this winner. Remember, we're gonna have one more laptop on Tuesday. And so if you want to be part of that raffle on Tuesday, make sure you do the homework. You have to have done the homework if you want to be entered into that raffle on Tuesday for another Surface Laptop Go. All right, let's pick it, then we're gonna raid. All right, the lovely entries are closed. We're gonna pick a winner. Three, two, one. All right, Thunder and Light, you are now the proud owner of a Surface Laptop Go. Thunder and Light, congratulations on your new laptop. Beautiful Surface Laptop Go. All right, folks, let's go ahead and queue up the raid.

Remember, you want those sweet, sweet channel points. Let's spread some love and positivity. If you haven't given them a follow before, give them a follow. Let them know where you came from. We're gonna queue it up. Hope you had some fun. Hope you're enjoying the best week ever. We'll do the Pokemon cards and some other raffles on Tuesday. Tuesday's gonna be the best stream for the best week ever. So we'll get all the extra special raffles and stuff like that. We're a little over time. We're 15 minutes over. So I want to be respectful of people's time, but Tuesday we'll get to everything. I hope you had a wonderful time. Once again, thank you, Microsoft Azure.

We appreciate you, everybody. See you all tomorrow or Friday with friends. If you can make it, if not, I'll see you Saturday. If not, I'll see you Sunday. If I'll see you Monday. If not, I'll see you Tuesday. Let's raid Peace YouTube

End of Transcript