Git and GitHub

Tim Buchalka's Learn Programming Academy
A free video tutorial from Tim Buchalka's Learn Programming Academy
Professional Programmers and Teachers - 1M+ students
4.5 instructor rating • 52 courses • 1,022,515 students

Lecture description

Now that you have started using Git, we will start using GitHub as well, but before we dive into the GitHub tool, we first need to undestand how does it fit into the Git environment, how would we use it, and how does it differ from Git itself.

Learn more from the full course

Git & GitHub Masterclass

Add real world development team skills for version control and source control to your resume & programming arsenal!

11:34:11 of on-demand video • Updated November 2020

  • Use Git and GitHub in the way that modern development teams use them.
  • Understand the ideal structure of a repository.
  • Learn how GitHub will enable great collaboration in a development team.
  • Master the git commands that will help you explore any repository.
  • Leverage Markdown in your GitHub repositories.
  • Publish your repositories in public websites through GitHub Pages.
  • Feel comfortable contributing to a repository, whether open source or as part of your job.
  • Understand how GitHub is the foundation for more advanced development practices such as CI/CD and DevOps.
English [Auto] In the previous section we had already started working with kids and in this section we're going to learn how to do some of the things that we haven't really done with it alone. Now we'd get help but before we jump over to get hub create our accounts and set up our initial repository. I want to talk a little bit more about what the differences between Keats and get help are and also how they may be similar in some cases. So of course we're going to be talking about those good things that we all really learned how to tweak the previous section and how to do them directly on github and because of this you may think that they are related that they are actually used for the exact same thing. So if we're actually going to be using GitHub to do good things maybe we could only use github or maybe only use give. So is this about selecting between them. Well it isn't an easier way to talk about what github is in the context of get ease of thinking again like I said in the produce section of a local computer. That in a certain directory initialize is gets. So we have a new dot kit folder and of course here is where we're going to execute that get commands that we are real learned to do in the produce section and eventually just pushing these key repository over to get hub. So Gates also exists this good repository also exists on GitHub so getting Hobbes notes our replacement forgets it is more simply another node another computer which happens to be in the cloud or we can store our repository. And so once our repository is over on GitHub it's going to be easier for us and other members of the team to bowl from these repository which is always of course that good repository and allowed him to their computers. So this enables great collaboration in the context of Tim's I can for example upload the same files that I have worked with in the previous section over to get hub and then anyone could download and start working with that same repository. In fact we're going to be doing precisely that. I'm going to be uploading those over to my kid of repository and you're you could have access to it now there are more details that you should be aware of when working with a repository server and get hub but you could actually access my code having it on your own repository locally and of course have it on github as well. It is a case of a couple of things here right now are not yet perfectly clear but everything is going to be clearer as we progress through this action. For now let's just talk about what is different between Gates and GitHub. How is it going to be easier for us to distinguish between them. So when talking well good you should only think about the version control system which allows you to have different versions of different files. And these are simply snapshots of those versions. So get is going to can I take a picture of a file in a an instance. Every time we commit those new changes get is also going to be a local repository. So we're entirely going to be working on a local directory. You may remember how we have that dot get folder instead of our main working directory and that is always going to be local which means that we always have access to all of the version control no matter where we are. No matter if we if we are online or off line on an airplane on the airport or just somewhere remote we always have access to the entire repository. Finally and something that is key here is that get it distributed. This means that it can exist on many different computers not just in a single one. Like in a centralized forum these can exist in many different computers. One of them for example being GitHub which is precisely what we will see in the next slide. This means that if you have your get cover repository it is virtually impossible to lose the repository because you have so many copies of it. As soon as you boost your local repository over to another repository you can always copy it back in case you lose your computer or the content scale get lost. And that is these particular feature the one that enables GitHub to get hub users get leverage is the power of gets to do most of the things that it does so it is mostly just another computer using the same repository. And of course executing good commands. So just copies or clones which is the actual award that we should use a repository maybe from local computer and now it also has that same repository because of gets distributed nature we can have these feature on github. The ability to have another version the ability to contain the same repository so we can work between get hope and a local computer. And of course many other different computers. In the case of a team environment getting a job is of course a tool that we're always going to be using online. So indeed my view are not connected to the Internet you will not be able to push changes over to GitHub boards. You can always just wait for it because everything is happening locally on your gear repository. So just wait until you do have that Internet connection to Bush or the changes or to get hub but you definitely do need that Internet connection now. Github does add some features of its own. It's not just another computer that allows you to store your repository online it's ads. For example user management so many different people can be collaborating there on GitHub accessing the same repository. And this is going to enable you to message the team members talk with them about issues work together solving bugs working together directly from there. We're going of course to see these hands son as we progressed through this section and the next few sections but it is something definitely very important that he adds to the development process which of course is not available with get by itself. Another important thing goes github is that it allows for many different tool integration. And by this I just mean that third parties continuously develop new tools that can integrate with GitHub to enable you to do many other different things. Virtually erasing the limits on what you can do. Just mentioned some tools for example you can use the slack integrate GitHub into slack so every time you push a new version over to Keith hub or you report the bar or maybe you merge two branches which we're going to talk about later on in these years you'll get notifications over and slack or you can use a tool that tracks what tasks you have to perform so you can integrate some sort of tools into GitHub and there is actually a market place inside of GitHub where you can search for many different tools available right there. And these tools just build and improve your experience on GitHub hopefully talking about these key features and differences between kids and get hub makes it clearer how GitHub pans some give and how they are both entirely different tools. Of course they have some similarities but most of those similarities are mainly just keep executing get commands. So now that the differences between these two is hopefully clearer in the next lecture we're going to create art github accounts create our first remote repository and later we can learn how to send our local repository over to get hub.