Git command review
Compare two commits, printing each line that is present in one commit but not the other.
git diff will do this. It takes two arguments – the two commit ids to compare.
Make a copy of an entire Git repository, including the history, onto your own computer.
git clone will do this. It takes one argument – the url of the repository to copy.
Temporarily reset all files in a directory to their state at the time of a specific commit.
git checkout will do this. It takes one argument – the commit ID to restore.
Show the commits made in this repository, starting with the most recent.
git log will do this. It doesn’t take any arguments.
If someone else gives you the location of their directory or repository, you can copy or clone it to your own computer.
This is true for both copying a directory and cloning a repository.
As you saw in the previous lesson, if you have a URL to a repository, you can copy it to your computer using
For copying a directory, you weren’t expected to know this, but it is possible to copy a directory from one computer to another using the command
scp, which stands for “secure copy”. The name was chosen because the
scp command lets you securely copy a directory from one computer to another.
The history of changes to the directory or repository is copied.
This is true for cloning a repository, but not for copying a directory. The main reason to use
git clone rather than copying the directory is because
git clone will also copy the commit history of the repository. However, copying can be done on any directory, whereas
git clone only works on a Git repository.
If you make changes to the copied directory or cloned repository, the original will not change.
This is true for both copying a directory and cloning a repository. In both cases, you’re making a copy that you can alter without changing the original.
The state of every file in the directory or repository is copied.
This is true for both copying a directory and cloning a repository. In both cases, all the files are copied.
git log lists the most recent commit first, as you can verify by checking the commit dates. The middle commit probably contains the code for the mute button, since the commit message indicates that the mute button was added in that commit. The top commit also probably contain the mute button, since that commit is more recent and nothing suggests the mute button has been removed. The bottom commit probably does not contain the mute button, since that commit was created before the commit that added the mute button.
Consider the same partial
git log output as in the previous exercise. Which arguments would you need to give the
git diffcommand for the lines of code that implement the mute button to be marked as additions (with a plus sign)?
To make the options on the next screen easier to read, only the first 6 characters of each commit ID have been included. This will not change the output of
git diff unless two commits start with the same 6 characters.