All checks were successful
learn org at code.softwareshinobi.com/git.softwareshinobi.com/pipeline/head This commit looks good
62 lines
2.3 KiB
Markdown
62 lines
2.3 KiB
Markdown
# Git Diff
|
|
|
|
As mentioned in the last chapter, the `git status` command gives us a great overview of the files that have changed, but it does not show us what the changes actually are.
|
|
|
|
You can check the actual changes that were made with the `git diff` command. If we were to run the command in our repository, we would see the following output:
|
|
|
|
```
|
|
diff --git a/README.md b/README.md
|
|
index 9366068..2b14655 100644
|
|
--- a/README.md
|
|
+++ b/README.md
|
|
@@ -1 +1,2 @@
|
|
# Demo Project
|
|
+Git is awesome
|
|
```
|
|
|
|
As we only changed the `README.md` file, Git is showing us the following:
|
|
|
|
* `diff --git a/README.md b/README.md`: here git indicates that it shows the changes made to the `README.md` file since the last commit compared to the current version of the file.
|
|
* `@@ -1 +1,2 @@`: here git indicates that 1 new line was added
|
|
* `+Git is awesome`: here, the important part is the `+`, which indicates that this is a new line that was added. In case that we remove a line, you would see a `-` sign instead.
|
|
|
|
In our case, as we only added 1 new line to the file, Git indicates that only 1 file was changed and that only 1 new line was added.
|
|
|
|
Next, let's go ahead and stage that change and commit it with the comments that we've learned from the previous chapters!
|
|
|
|
* Stage the changed file:
|
|
|
|
```bash
|
|
git add README.md
|
|
```
|
|
|
|
* Then again run `git status` to check the current status:
|
|
|
|
```bash
|
|
git status
|
|
```
|
|
|
|
The output would look like this, indicating that there is 1 modified file:
|
|
|
|
```
|
|
On branch main
|
|
Changes to be committed:
|
|
(use "git restore --staged <file>..." to unstage)
|
|
modified: README.md
|
|
```
|
|
|
|
* Commit the changes:
|
|
|
|
```bash
|
|
git commit -m "Update README.md"
|
|
```
|
|
|
|
Finally, if you run `git status` again you will see that there are no changes to be committed.
|
|
|
|
I always run `git status` and `git diff` before making any commits, just so that I'm sure what has changed.
|
|
|
|
> Note 1 : `git diff --staged` will only show the changes to the file in "staged" area.
|
|
|
|
> Note 2 : `git diff HEAD` will show all changes to tracked files(file in last snapshot), if you have all the changes staged for commit then both the commands give same output.
|
|
|
|
In some cases, you would like to see a list of the previous commits. We will learn how to do that in the next chapter. |