当前位置:   article > 正文

Git教程——查看修改日志 (log & diff)_git log diff

git log diff

1.前言

在 git 中, 每一次提交(commit)的修改, 都会被单独的保存起来. 也可以说 git 的中的所有文件都是一次次修改累积起来的. 文件好比楼房, 每个 commit 记录 了盖楼需添加或者拿走的材料. 整个施工过程也被记录了下来.

2.修改记录 log

之前我们以Mr Luoj 的名义对版本库进行了一次修改, 添加了一个 1.py 的文件. 接下来我们就来查看版本库的些施工的过程. 可以看到在 Author 那已经有我的名字和 email 信息了.
在这里插入图片描述
如果我们对1.py文件进行一次修改, 添加这行代码:

a = 1
  • 1

然后我们就能在 status 中看到修改还没被提交的信息了.

$ git status

# 输出
On branch master
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:   1.py    # 这里显示有一个修改还没被提交

no changes added to commit (use "git add" and/or "git commit -a")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述
所以我们先把这次修改添加 (add) 到可被提交 (commit) 的状态, 然后再提交 (commit) 这次的修改:

$ git add 1.py
$ git commit -m "change 1"

# 输出
[master fb51216] change 1
 1 file changed, 1 insertion(+) # 提示文件有一处添加
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

再次查看 log, 现在我们就能看到 create 1.py 和 change 1 这两条修改信息了. 而且做出这两条 commit 的 ID, 修改的 Author, 修改 Date 也被显示在上面.

$ git log
  • 1

在这里插入图片描述
如果删除一部分代码, 也会被记录上, 比如把 a = 1 改成 a = 2, 再添加一个 b = 1.

a = 2
b = 1
  • 1
  • 2

3.查看 unstaged

如果想要查看这次还没 add (unstaged) 的修改部分 和上个已经 commit 的文件有何不同, 我们将使用 $ git diff:

$ git diff   #对比工作区(未 git add)和暂存区(git add 之后)
  • 1

在这里插入图片描述

4.查看 staged (–cached)

如果你已经 add 了这次修改, 文件变成了 “可提交状态” (staged), 我们可以在 diff 中添加参数 --cached 来查看修改:

$ git add .   # add 全部修改文件
$ git diff --cached   #对比暂存区(git add 之后)和版本库(git commit 之后)
  • 1
  • 2

在这里插入图片描述

5.查看 staged & unstaged (HEAD)

a = 2
b = 1
c = b
  • 1
  • 2
  • 3

目前 a = 2 和 b = 1 已被 add, c = b 是新的修改, 还没被 add.

$ git diff HEAD     # 对比工作区(未 git add)和版本库(git commit 之后)
  • 1

在这里插入图片描述

$ git add .
$ git status
$ git commit -m "change 2"
  • 1
  • 2
  • 3

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/466693
推荐阅读
相关标签
  

闽ICP备14008679号