一个命令巧妙查看git版本演变史

在这里插入描述
如何使用 git 命令查看 commit 演进历史呢?

可以使用 git log 加相关参数实现:

  • $ pwd

  • $ ll

  • $ cd git-rainbow/

  • $ ll

  • $ cd mtxcrm/

  • $ ls -la

例如:加–oneline ,可以实现查看git版本历史的commit简要列表:

git log--oneline

图片

根据列表信息,可以查看每次版本变更都变更了哪些信息,当然信息比较简洁。从以上截图信息可知,一共发生了4次版本变更,分别执行的都是 move、add、重命名、新增文件操作,–oneline 这个参数在查找每次提交具体内容上还有很有帮助的。

也可以指定最近几次的commit, 也就是仅仅只关心最近几次的 commit的信息查看,比如,查看最近2次的commit操作:

git log -n2

图片

当然带n参数的这个git命令也可以组合oneline参数使用:

git log -n2 --oneline

图片

当存在多个分支的情况下,如何使用 git log 命令呢?

比如,我们查看下本地有多少个分支?

git branch -v

图片

从截图返回结果可见,当前只有 master 分支,创建一个新的临时的分支,叫 temp。

git log

git checkout -b temp cb8ec5dc05341d784934c912

图片

对 a.txt 文件稍作修改

ls -la

vi a.txt

图片

ls -la

图片

然后执行一次 commit 提交操作:

git commit -m'modify a.txt'

从如下截图所示提示信息可知,提交时需要加-a 参数:

图片

git commit -am'modify a.txt'

图片

然后我们再次查看下当前目录下分支总数:

git branch -av

图片

从以上截图可知,一共有两个分支,分别是 master、temp,并且我当前所在分支是 temp,此时使用 git log(后面不加任何参数的情况下)查看的是当前分支 temp 的历史提交信息列表:

git log

图片

  • HEAD 指向的是 temp
  • HEAD 没有指向 master

所有分支的演进历史如何全部都查看到呢?

此时可以增加–all 参数,来查看所有分支的演进历史:

git log --all

图片

如果有10个分支,通过–all 参数,可以列出 10 个分支对应的 commit 历史演进信息,还可以图形化形式展示演进的历史:

git log --all --graph

图片

从以上截图能清楚的看到,master 是有 3 个 commit 演进历史信息,如果只想查看就近的 n 个全部分支的演进历史,可以使用以下命令:

git log --all -n3

图片

查看最近 3 个全部分支的演进历史,以下命令是以图形的方式查看最近 3 个全部分支演进历史:

gitlog --all -n3 --graph

图片

注意,这里的-n3 是指所有分支取最近 3 次的 commit 记录,而不是当前分支的,如果加了–all 参数,再指定 temp 分支,统计的是 temp 分支的还是全部分支的呢?

git log --oneline --all temp -n3

从如下截图所示命令的返回可见,仍是是统计全部全部分支的 commit 提交信息的前 3 个,后面配的 temp 分支没有起到作用:

图片

如果没有–all 参数,指定 temp 分支,则 git log 命令的返回结果是 temp 分支的 commit 演 进历史

git log --oneline temp

图片

如果没有–all 参数,指定 master 分支,则 git log 命令的返回结果是 master 分支的 commit 演进历史

git log --oneline master

图片

可见在加了–all 参数后,即使再指定任何分支的情况下,还是以–all 参数,也就是全部分支的基础获取 commit 演进历史,指定的分支设置不起作用。

以上这些是比较场景的git log命令,如果忘记git log参数,或者想查看其他git log的参数列表,可以使用git log的帮助命令进行查看

git help --web log

git log 的参数接口非常多:

在这里插入图片描述

下面是一份配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
在这里插入图片描述
这些都可以以在公众号:伤心的辣条 ! 免费领取,还有一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

Guess you like

Origin blog.csdn.net/software_test010/article/details/121755979