In this lesson, we’ll cover common Git commands used to manage your projects and to upload your work onto GitHub. We refer to these commands as the basic Git workflow. When you’re using Git, these are the commands that you’ll use 70-80% of the time, so if you can get these down, you’ll be more than halfway done mastering Git!
By the end of this lesson, you should be able to do the following:
touch some-sample-project/example.html some-sample-project/example.txt. Once you get to that lesson, make sure you
some-sample-project. Complete Tower’s Learn Version Control with Git lesson. Please note: 1. Skip the “Getting Ready” section because you should have already installed Git by now. 2. Ignore the invitation to do the lessons with the Desktop GUI. Complete the Command Line version. 3. Only do “Part 1 - The Basics.”
This is a reference list of the most commonly used Git commands. (You might consider bookmarking this handy page.) Try to familiarize yourself with the commands so that you can eventually remember them all:
git clone firstname.lastname@example.org:USER-NAME/REPOSITORY-NAME.gitor
git clone https://github.com/user-name/repository-name.git
git push origin master
git add .
git commit -m "A message describing what you have done to make this snapshot different"
The basic Git syntax is
program | action | destination.
git add .is read as
git | add | ., where the period represents everything in the current directory;
git commit -m "message"is read as
git | commit -m | "message"; and
git statusis read as
git | status | (no destination).
You may not feel completely comfortable with Git at this point, which is normal. It’s a skill that you will get more comfortable with as you use it. Therefore, we have a project coming right after this lesson where we’ll walk you through the entire Git workflow, which is the exact same process you would use in a real project.
The main thing to take away from this lesson is the basic workflow. The commands you’ve learned here are the ones you will be using the most often with Git.
Don’t worry if you don’t know all the commands yet or if they aren’t quite sticking in your memory yet. They will soon be seared into your brain as you use them over and over in future Odin projects.
This section contains helpful links to other content. It isn’t required, so consider it supplemental for if you need to dive deeper into something.
This section contains questions for you to check your understanding of this lesson. If you’re having trouble answering the questions below on your own, clicking the small arrow to the left of the question will reveal the answers.
git clone email@example.com:<your-respository-name>to clone a GitHub repository onto your local machine.
git statusto see any changes made since your last commit.
git addto track files.
git committo commit tracked files.
git logto view your commit history.
git pushto send your commit to GitHub.
commit. The combination of these two commands gives you control of exactly what you want to be remembered in your snapshot.
addas adjusting the number of people or elements to be included in a photo. With Git, you can select the changes you want to save with
git add. Imagine a project that contains multiple files where changes have been made to several files. You want to save some of the changes you have made and leave some other changes to continue working on them.
commitas actually taking a photo, resulting in a snapshot. For example, to commit a file named README.md, type
git commit -m "Add README.md". The
-mflag stands for "message" and must always be followed by a commit message inside quotation marks. In this example, the commit message was
git push origin master.
originis a placeholder name for the URL of the remote repository. Git sets up the origin by default when it clones a remote repository. You can use
originto access the remote repository without having to enter a full URL every time. This also means that you can have multiple remotes for a repository by giving each a unique name.
git push origin master.
masteris the branch of the remote repository you want to push your changes to. We will get more into branches in a later lesson, but the main thing to remember is that
masteris the official branch in your projects where production-ready code lives.