Git版本控制管理(七)--提交和查看提交历史

Git 提交

git commit 提交命令将暂存区内容添加到本地仓库中,用来记录版本库的变更。Git会为任何有变换的文件创建新的blob对象,对有变化的目录创建新的树对象,对于未改动的文件和目录则会沿用之前的blob与树对象。版本库中的变更和提交是一一对应的关系:提交是将变更引入版本库的唯一方法,任何版本库中的变更都必须由一个提交引入。

提交暂存区到本地仓库中:

$ git add <file>  # 将文件存到暂存区
$ git commit -m [message]  # 将暂存区所有文件提交到版本库,[message] 可以是一些备注信息。
$ git commit [file1] [file2] ... -m [message]  # 将暂存区指定文件提交到版本库

如果没有设置 -m 选项,Git 会尝试为你打开一个编辑器以填写提交信息。 如果 Git 在你对它的配置中找不到相关信息,默认会打开 vim,然后在vim中添加提交信息。

如果觉得 git add 提交缓存的流程太过繁琐,Git 也允许用 -a 选项跳过这一步。命令格式如下:

$ git commit -a

# 示例,对所有修改了的文件进行提交
$ git commit -am "修改文件"

Git 查看提交历史

Git 提交历史一般常用两个命令:

  • git log - 查看历史提交记录。
  • git blame <file> - 以列表形式查看指定文件的历史修改记录。

git log

显示提交历史的主要命令是git log,这个命令有很多参数选项。一些常用命令如下:

$ git log             # 列出历史提交记录
$ git log --oneline   # 用online参数选项来查看历史记录的简洁的版本
$ git log --graph     # 查看历史中什么时候出现了分支、合并
$ git log --reverse   # 逆向显示所有日志

一些高级用法:

$ git log --author    # 查找指定用户的提交日志
# 示例, Git 项目中 Hanscal 提交的部分
$ git log --author=Hanscal --oneline -5 


$ git log --since --before  # 指定日期,也可以用--until和--after
# 示例, Git 项目中三周前且在四月十八日之后的所有提交
$ git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges

git blame

此命令可以显示一个文件中的每一行最后是谁修改的和哪次提交做出了变更,是以列表形式显示修改记录:

$ git blame <filename>
# 示例
$ git blame README.md 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值