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

Ivie ·
更新时间:2024-09-20
· 556 次阅读

文章目录1.前言2.修改记录 log3.查看 unstaged4.查看 staged (--cached)5.查看 staged & unstaged (HEAD) 1.前言

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

2.修改记录 log

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

a = 1

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

$ git status # 输出 On branch master Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: 1.py # 这里显示有一个修改还没被提交 no changes added to commit (use "git add" and/or "git commit -a")

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

$ git add 1.py $ git commit -m "change 1" # 输出 [master fb51216] change 1 1 file changed, 1 insertion(+) # 提示文件有一处添加

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

$ git log # 输出 commit fb51216b081e00db3996e14edf8ff080fab1980a Author: Morvan Zhou Date: Tue Nov 29 00:24:50 2016 +1100 change 1 commit 13be9a7bf70c040544c6242a494206f240aac03c Author: Morvan Zhou Date: Tue Nov 29 00:06:47 2016 +1100 create 1.py

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

a = 2 b = 1 3.查看 unstaged

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

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

在这里插入图片描述

4.查看 staged (–cached)

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

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

在这里插入图片描述

5.查看 staged & unstaged (HEAD) a = 2 b = 1 c = b

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

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

在这里插入图片描述


作者:Mr. Luoj



git教程 diff log Git

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章