- 20151230 [學習筆記] Git版本控制(8)
- 整理自 第 09 天:比對檔案與版本差異
- [ 筆記內容 (1) ] 使用 "git diff" 比對檔案與版本差異
- [ 前置作業 ] 準備工作目錄
- (一)"git diff" 的基本觀念
- [ 實際操作 ] 比較版本之間的差異
- (二)"git diff" 的四種比較方式
- 1. git diff 比對「工作目錄」與「索引」之間的差異
- 2. git diff commit 比對「工作目錄」與「指定 commit 物件裡的 tree 物件」
- 3. git diff --cached commit 比對「當前的索引狀態」與「指定 commit 物件裡的 tree 物件」
- 4. git diff commit1 commit2 透過兩個不同的版本 ( commit id ) 來比對其差異
- 整理自 第 10 天:認識 Git 物件的絕對名稱
- [ 筆記內容 (2) ] Git 物件的絕對名稱
- (一)物件絕對名稱
- (二)絕對名稱的簡短語法
整理自 第 09 天:比對檔案與版本差異
[ 前置作業 ] 準備工作目錄
# 在命令列中輸入以下指令
## 建立儲存庫 ##
mkdir git-demo
cd git-demo
git init
## 建立檔案版本(初版) ##
echo 1 > a.txt
echo 2 > b.txt
git add .
git commit -m "Initial commit"
## 建立檔案版本(再版) ##
echo 3 > a.txt
echo 4 > b.txt
git add .
git commit -m "Update a.txt and b.txt to 3 and 4"
D:\GitHub> mkdir git-demo
目錄: D:\GitHub
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2015/12/30 下午 05:23 git-demo
D:\GitHub> cd git-demo
D:\GitHub\git-demo> git init
Initialized empty Git repository in D:/GitHub/git-demo/.git/
D:\GitHub\git-demo [master]>
D:\GitHub\git-demo [master]> echo 1 > a.txt
D:\GitHub\git-demo [master +1 ~0 -0 !]> echo 2 > b.txt
D:\GitHub\git-demo [master +2 ~0 -0 !]> git add .
D:\GitHub\git-demo [master +2 ~0 -0]> git commit -m "Initial commit"
[master (root-commit) 3efab17] Initial commit
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a.txt
create mode 100644 b.txt
D:\GitHub\git-demo [master]> echo 3 > a.txt
D:\GitHub\git-demo [master +0 ~1 -0]> echo 4 > b.txt
D:\GitHub\git-demo [master +0 ~2 -0]> git add .
D:\GitHub\git-demo [master +0 ~2 -0]> git commit -m "Update a.txt and b.txt to 3 and 4"
[master 99e43ba] Update a.txt and b.txt to 3 and 4
2 files changed, 0 insertions(+), 0 deletions(-)
D:\GitHub\git-demo [master]>
(一)"git diff" 的基本觀念
D:\GitHub\git-demo [master]> git log
commit 99e43baae0a62137c4d1da867c707dab2b70401b
Author: shouzo <danny200026@yahoo.com.tw>
Date: Wed Dec 30 17:26:06 2015 +0800
Update a.txt and b.txt to 3 and 4
commit 3efab178a2f48fec16622e2eedbef6b4d9a3336d
Author: shouzo <danny200026@yahoo.com.tw>
Date: Wed Dec 30 17:25:05 2015 +0800
Initial commit
D:\GitHub\git-demo [master]> git diff 3efab 99e43
diff --git a/a.txt b/a.txt
index ca90535..00b30ed 100644
Binary files a/a.txt and b/a.txt differ
diff --git a/b.txt b/b.txt
index c7250cb..b1b10c2 100644
Binary files a/b.txt and b/b.txt differ
D:\GitHub\git-demo [master]>
(二)"git diff" 的四種比較方式
整理自 第 10 天:認識 Git 物件的絕對名稱
(一)物件絕對名稱
(二)絕對名稱的簡短語法