git输出版本信息

很久不更博了,重新回来写博客。

这是关于git输出版本信息。

 具体需求是,需要在软件中能查看到当前软件的tag版本号。而且不能简单的显示tag号,还要可以区分是release还是develop版。

 例如baseline最新的tag之后没有其他commit号,则只需显示tag号,如v0.1.0。若在tag之后又有其他的commit被merge,则需显示完整格式为,tag号-commite号。只要显示的版本号不带commit,就判断为release版,其他则为develop版。

 具体思路为,

 1.在Makefile中调用shell git命令来查询软件当前的commit, message以及tag信息。

 2.在Makefile中通过sed将最新的commit,message,tag值更新到verison这个shell脚本中。

 3.shell脚本通过以上信息判断版本信息,并打印。

 4.将脚本做到rootfs的/usr/bin下。

 最终烧到板子上之后,用户只需在命令行输version便可查询到版本信息。

但是最终发现一个神奇的命令,能直接减少上述50%左右工作量。

直接一条git describe --tags即可。完全不需要通过commit号,message信息等来判断!

猜你喜欢

转载自blog.csdn.net/rockrockwu/article/details/79298543