[MUSIC] Let's talk about how Git is commonly used by modern software engineers in practice, that is, with the remote repository that they all use in order to sync up. Here's the situation I showed you previously, where you only have a local repository. Let's assume you now have a git repository set up on a remote machine, that is, a remote git repository. I'll show you how to do this in just a moment. Now in order to sync your local repository with the remote repository, you issue what's called a push command. You specify the URL of the remote repository, as well as the branch that you want to push up to from your local repository. Now, a fetch command is used to fetch information from the remote repository and pull it into your local git repository. We'll commonly also use the pull command. Now, the pull command does both the fetch, followed by a merge of the remote repository with the local repository. The clone command is used if you don't have a local repository that you're trying to sync with, that is, you're just trying to create a copy of the remote repository on your local machine. Let's take a look at how you can set up a remote repository. Two of the most popular places to store remote git repositories are at GitHub and Bitbucket. I'm going to use Bitbucket. So go to bitbucket.org, and if you don't have an account there, go ahead and get started for free, create your account, and then log in. Once you're logged in, go to the repositories, and we're going to create a new repository for our blog app. And we're going to call the repository, blog. We're going to select Git here. Under the advanced settings, let's select the language to be Ruby. And let's go ahead. We can write a description here. This is the blog app for the MOOC class. And let's go ahead and create this repository. And after the repository is set up, it says that your repository is empty. Down here it says, I have an existing project, we do, we're going to use the blog apps, so select this, and it'll tell you the next steps you have to take. What this says is that you first have to go to your local repo, you have to add this remote repo, and then you can push locally to the remote repo. Let me show you how to do this from the command line. Now, before executing these commands, there's one thing we still need to take care of. Every time you execute a commit operation in Git, it stores the username and the password of the person who executed that commit. So, now that we have a remote repository, and many people are using it, we need to set this information up in our local git system. So we type git config -- global user.name, and then you just put your name here, so type your name, so I'll type mine, and put it in double quotes. So I'll type mine, just so you can see how it works. And then you need to do the same for your email address. So, it's user.email, and within double quotes, type your email address. Do these things so that you can configure Git properly. Once that's done, if you can type get config -l, you'll see a listing of how your Git system is currently configured. Next, let's setup our remote origin, I'm simply copying what Bitbucket told me to use. So this command, git remote add origin, adds this remote repository to my local git repository. So every time I do a push, it's going to push there, and when I do a pull from this repository, it's going to pull from this Bitbucket repository. This name here is the URL that we're using, and this should be your name, not mine, and then blog.git. And so let's go ahead and execute this now, once this is done, we can do git push origin master, and this will push my local repository up to this remote repository, and it's done. In order to prove to you that this worked, let's go back to Bitbucket, let's click on this blog, we'll see that it was just updated, and here is the commit that we just made. These are the same steps that you're going to need to follow in order to submit your programming assignments for grading.