我想得到我的Git存储库的提交数量,有点像SVN版本号.
目标是将其用作唯一的递增构建号.
我目前在Unix/Cygwin/msysGit上喜欢这样:
git log --pretty=format:'' | wc -l
Run Code Online (Sandbox Code Playgroud)
但我觉得这有点像黑客.
有没有更好的方法呢?如果我真的不需要wc甚至是Git 会很酷,所以它可以在裸Windows上工作.只需读取文件或目录结构......
在我的存储库中,我使用以下命令创建了标记.
git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'
Run Code Online (Sandbox Code Playgroud)
如何列出存储库中的所有标记?
自从我创建了我的存储库后,看来我创建的标签没有被推送到存储库.当我git tag在本地目录上执行所有标记时,但是当我登录到远程存储库并执行操作时git tag,只显示前几个标记.
问题是什么?
在Unix或GNU脚本环境(例如Linux发行版,Cygwin,OSX)中,确定当前结帐是否为Git标记的最佳方法是什么.如果是标签,我该如何确定标签名称?
这种技术的一个用途是自动标记一个版本(就像svnversionSubversion一样).
请参阅我关于以编程方式检测Git分支的相关问题.
你如何在git中标记你的发布版本?
现在,每个版本都由内部版本号标识,但即使回购中没有任何更改,它们也会增加.我的想法是在登台服务器上成功部署后自动生成它.例如
这需要:
有小费吗?
我正在尝试确定一个良好的发布管理系统,并结合使用版本号标记的标记实践 - 例如,1.0.该标记之后的任何更改都会增加,如1.0-1,1.0-2等.
但是,如果我从master for 1.0版本创建一个新分支,然后切换到该分支并将其标记为1.0,则上述系统工作正常.该分支上的其他错误修复按预期显示,1.0-1,1.0-2
但是,除非我在制作1.0分支后第一次提交后重新标记主服务器,否则对主服务器的任何工作也将显示相同的增量:1.0-1,1.0-2
当然,sha1哈希将是唯一的,但我最终会从master和branch获得相同的修订/增量.
当我只标记分支时,有没有办法避免master被标记?有没有更好的方法呢?现在,我在创建分支1.0之后的唯一选择是在master上进行一次小的提交,然后为1.1-dev或其他东西重新标记它.
然后重复每个版本.
但是,如果再对一个分支进行标记,比如1.0.1版本,那么它似乎也会标记master,因为那是先发生的事情?