A Practical Guide on how to to create your own git command alias
Introduction In this guide, We will learn on how to create some handy command…
July 07, 2020
In this guide, We will get basic understanding of various git diff
options.
We will see:
For other git training, visit:
If you do only git diff
, it will show difference in files between staging and unstaged (local file).
Example, if you do changes in two files: t1, t2
And, do a git add t1
on one file only. Then, git diff
will show difference for t2 only.
# after changing files t1, t2
$ git add t1
$ git status
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: t1
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: t2
Now, if I run git diff
$ git diff
diff --git a/t2 b/t2
index 45b983b..7c7e506 100644
--- a/t2
+++ b/t2
@@ -1 +1 @@
-hi
+hi hi hi
It shows difference of the file which has not been staged yet.
git diff HEAD
In the above example, I had modified two files: t1, t2
. I staged only one file: t1
.
$ git diff HEAD
diff --git a/t1 b/t1
index 45b983b..880d1a7 100644
--- a/t1
+++ b/t1
@@ -1 +1,3 @@
hi
+hi
+hi
diff --git a/t2 b/t2
index 45b983b..7c7e506 100644
--- a/t2
+++ b/t2
@@ -1 +1 @@
-hi
+hi hi hi
Note, I get the diff of all the files on local dir vs the actual remote git repo.
In the above example, I had modified two files: t1, t2
. I staged only one file: t1
.
$ git diff --staged HEAD
diff --git a/t1 b/t1
index 45b983b..880d1a7 100644
--- a/t1
+++ b/t1
@@ -1 +1,3 @@
hi
+hi
+hi
I’m only getting diff on the file I did staged.
By default, git diff
returns the diff of all the files changed/added. If you want to get diff of one particular file, do this:
git diff -- t2
Lets list the commit ids in shorter format.
$ git log --oneline
e7dd2a0 (HEAD -> master, origin/master, origin/HEAD) t2
007675f t1
1a2af9c test
f997108 test
9a5a776 test
85587c6 test1
574c251 test 1
Lets get diff between two commits
$ git diff 574c251 e7dd2a0
## output
diff --git a/test1.txt b/t1
similarity index 100%
rename from test1.txt
rename to t1
diff --git a/t2 b/t2
new file mode 100644
index 0000000..45b983b
--- /dev/null
+++ b/t2
@@ -0,0 +1 @@
+hi
diff --git a/test2.txt b/test2.txt
new file mode 100644
index 0000000..45b983b
--- /dev/null
+++ b/test2.txt
@@ -0,0 +1 @@
+hi
Get the diff between a commit id and latest commit
git diff 574c251 HEAD
Get diff between latest and latest-1
git diff HEAD HEAD^
Assume you are having a branch: feature_branch
, and you want to see the diff.
git diff master feature_branch
Introduction In this guide, We will learn on how to create some handy command…
Problem Statement I developed a simple ReactJS application where I have used…
Static websites have several advantages over dyanamic websites. If you are…
MongoDB CRUD Operations Mongoose provides a simple schema based solution to…
Introduction Lets take a look at how forms are being handled in ReactJS. We will…
Lets implement a command shell by using a command dispatcher. The objective is…
In this post, we will see some of the frequently used concepts/vocabulary in…
System design interview is pretty common these days, specially if you are having…
Introduction You are given an array of integers with size N, and a number K…
Graph Topological Sorting This is a well known problem in graph world…
Problem Statement Given a Binary tree, print out nodes in level order traversal…
Problem Statement Given an array nums of n integers and an integer target, are…