Git 历史穿梭

本贴最后更新于 2300 天前,其中的信息可能已经沧海桑田

Git 历史穿梭


1. 图形工具

  • gitk,gitk 的代码已经和 Git 的代码放在了同一个版本库中。故不用特意安装。版本库下调用 gitk 即可。
  • gitg,gitg 基于 GTK+ 实现,功能比 gitk 更完整。
  • qgit,qgit 基于 QT 实现。

2. 命令行工具

Git 的大部分命令可以使用提交 ID 作为参数。有的命令使用一个版本范围作为参数。

2.1 版本表示法 : git rev-parse

git rev-parse 是一个 Git 的底层命令。功能非常丰富。

  • git rev-parse --git-dir Git 版本库的位置
  • git rev-parse --show-cdup 当前工作区目录的深度
  • git rev-parse --symbolic --branches 显示当前本地所有分支
  • git rev-parse --symbolic --tags 显示里程碑
  • git rev-parse --symbolic --glob-refs/* 显示定义的所有引用,其中 refs/remotes/ 目录下的是远程分支

git rev-parse 的一个重要功能就是将一个 Git 对象表达式表示为对应的 SHA1 值。如下:

Administrator@admin MINGW32 /d/gitRepos/SGameServer (master)
$ git describe
btl1.0-1698-g3e4de45

Administrator@admin MINGW32 /d/gitRepos/SGameServer (master)
$ git rev-parse btl1.0-1698-g3e4de45
3e4de4597e60dd5d64f9b7b28ae0b0f0b9353783

2.2 版本范围表示法 : git rev-list

  • git rev-list --oneline A 查看 A 版本(提交)之前的所有历史提交
  • git rev-list --oneline D F 相当于每个版本单独使用时指代的列表的并集。
  • git rev-list --oneline ^G D 在一个版本前面加上 ^ 符号含义是取反,即排除这个版本及其历史版本。
  • git rev-list --online G..D 使用两个点连接两个版本,相当于 ^G D 。这个地方用法很多,具体可以参见 11 章 11.4.3

2.3 浏览日志 : git log

--graph 参数调用 git log 可以显示字符界面的提交图,且不同分支的颜色不同。

  • Simon
    20 引用 • 10 回帖
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    209 引用 • 358 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...