版本更新

现在创建一个 git版本库:(参见“初始化”一节)

mkdir sandbox
cd sandbox/ 
git init
touch test
git add .
git commit -m "创建git版本库"  

git log查看版本纪录:

commit d63e709f565dcd60ab749f0eca27a947b02b8c261
Author: kardinal <2999am@gmail.com>2
Date:   Wed Nov 5 14:08:50 2008 +08003

    创建 git版本库4  

1

版本ID(默认自动生成)

2

提交者

3

提交日期

4

备注

现在对test文件作一些修改:

增加一行内容  

git diff查看自上次提交以来发生什么改动:

diff --git a/test b/test
index e69de29..bae0882 100644
--- a/test
+++ b/test
@@ -0,0 +1 @@
+增加一行内容1  

1

典型的diff输出,如果你设置了彩色输出,这些内容会非常直观的显示

接下来,把这次的更新作为新的版本提交

git add test1
git commit -m "增加了一行内容"2  

1

将本次更新提交到索引(生成快照)。此时使用git diff查看改动纪录,看不到任何内容;但是仍可以使用git diff --cached查看缓存的改动纪录

2

提交为新版本后,便不能使用git diff查看改动纪录
[提示] 提示

git add提交改动到索引,但并不提交到版本库。如果不想频繁的提交新版本,可以使用该命令提交改动到索引,比较和上一次提交的变化。只要不使用git commit提交,版本库中不会有新的版本

使用git log查看版本库纪录

commit 13aa16309db3693ea8a6b93b8a818e731194824c
Author: kardinal <2999am@gmail.com>
Date:   Wed Nov 5 14:28:04 2008 +0800

    增加了一行内容

commit d63e709f565dcd60ab749f0eca27a947b02b8c26
Author: kardinal <2999am@gmail.com>
Date:   Wed Nov 5 14:08:50 2008 +0800

    创建git版本库  

如果想查看每个版本的改动纪录,使用git log -p

commit 13aa16309db3693ea8a6b93b8a818e731194824c
Author: kardinal <2999am@gmail.com>
Date:   Wed Nov 5 14:28:04 2008 +0800

    增加了一行内容

diff --git a/test b/test
index e69de29..bae0882 100644
--- a/test
+++ b/test
@@ -0,0 +1 @@
+增加一行内容

commit d63e709f565dcd60ab749f0eca27a947b02b8c26
Author: kardinal <2999am@gmail.com>
Date:   Wed Nov 5 14:08:50 2008 +0800

    创建git版本库

diff --git a/test b/test
new file mode 100644
index 0000000..e69de29  

每次使用git addgit commit两个命令提交版本更新很繁琐,可以使用git commit -a提交(已索引文件的改动)

git commit -a -m "一次新的提交"  

版本标签

使用git tag为某一版本创建版本标签:

git tag 1.0 d63e70
git tag 1.1 13aa16 
git tag newest HEAD    
  • 版本标签存储在.git/refs/tags/目录

使用容易记忆的版本标签进行操作:

git diff 1.0 1.1 1
git diff 1.0 13aa16 
git log 1.0 2   

1

查看1.0和1.1之间的变化

2

查看1.0纪录