相关疑难解决方法(0)

我如何获得Git提交计数?

我想得到我的Git存储库的提交数量,有点像SVN版本号.

目标是将其用作唯一的递增构建号.

我目前在Unix/Cygwin/msysGit上喜欢这样:

git log --pretty=format:'' | wc -l
Run Code Online (Sandbox Code Playgroud)

但我觉得这有点像黑客.

有没有更好的方法呢?如果我真的不需要wc甚至是Git 会很酷,所以它可以在裸Windows上工作.只需读取文件或目录结构......

git revision build-process

718
推荐指数
15
解决办法
25万
查看次数

每个开发人员应该知道的基本清晰概念是什么?

每个开发人员应该知道的Clearcase版本控制系统的核心概念是什么?

clearcase

65
推荐指数
4
解决办法
9万
查看次数

setup.py(setuptools)和源代码中的自动版本号?

情况:

我有一个python库,由git控制,并与distutils/setuptools捆绑在一起.我想基于git标签自动生成版本号,包括for setup.py sdist和alike命令,以及库本身.

对于我可以使用的第一个任务git describe或类似的解决方案(请参阅 如何在我的包中的setup.py(setuptools)中定义版本?).

例如,当我在标签'0.1'并且要求'setup.py sdist'时,我得到'mylib-0.1.tar.gz'; 或'mylib-0.1-3-abcd.tar.gz'如果我在标记后更改了代码.这可以.

问题是:

当我想让这个版本号可用于库本身时,问题出现了,所以它可以将它作为'mylib/0.1-3-adcd'发送到User-Agent HTTP头中.

如果我添加setup.py version命令,如何在我的包中获得setup.py(setuptools)中定义的版本?,然后在制作标签后生成此version.py,因为它使用标记作为值.但是在这种情况下,我需要在制作版本标记之后再进行一次提交,以使代码保持一致.反过来,这需要一个新标签进行进一步捆绑.

问题是:

如何打破这个依赖圈(generate-commit-tag-generate-commit-tag -...)?

python git distutils version setuptools

37
推荐指数
5
解决办法
2万
查看次数

如何为Git存储库启用ident字符串?

如何启用ident $Id$Git存储库中的文件?

git ident

32
推荐指数
2
解决办法
3万
查看次数

如何向源添加修订和构建日期?

我有一个GCC项目,并希望自动添加构建日期和修订号(从git)的定义到我的源.最好的方法是什么?

我的目标很简单,能够在启动时做这样的事情:

printf("Test app build on %s, revision %d", BUILD_DATE, REVISION)
Run Code Online (Sandbox Code Playgroud)

对于构建我使用make与简单的Makefile.inc,而不是autoconf或类似的东西.

git gcc revision date build

13
推荐指数
1
解决办法
6421
查看次数

每次git push完成后更新版本?

我们如何在每次推送时使用git更改版本(每个+1)?

例如我有一个2 php文件

libs/lib1.php
libs/lib2.php
Run Code Online (Sandbox Code Playgroud)

在每个标题上通常都有一些信息

/**
 * LIB1.PHP
 * this libs does something like this
 * and that this is a doc for you
 * @version 145
 * @todo something todo
 * @author DAMS
 */

/**
 * LIB2.PHP
 * this libs does something like this
 * and that this is a doc for you
 * @version 445
 * @todo something todo
 * @author DAMS
 */
Run Code Online (Sandbox Code Playgroud)

每次推送时我们可以搜索并添加+1版本吗?

git post-update

10
推荐指数
1
解决办法
5166
查看次数

Git跟踪版本吗?

我是一个具有UNIX SCCS和Microsoft Visual SourceSafe经验的Git newbee.

在SCCS中,每个文件都有一个版本(I%),它由Release(%R),Level(L%),Branch(%B)和Sequence(S%)组成.%I等于R%.%LB%.%S,好吗?这些被称为ID关键字.

目的是在检查它们之前在源代码中插入这些ID关键字,然后当您将它们签出为只读(不更改)时,它会将它们转换为它们的版本号.例如:

printf("Version s \n","%I");

...会变成,

printf("版本%s \n","1.4.6.2");

哪个会打印,

版本1.4.6.2

SCCS逐个文件地跟踪版本,并在每次签入时递增它们.

Git中有什么接近的吗?

tags git version-control version keyword

5
推荐指数
1
解决办法
1202
查看次数

将Git SHA1信息扩展为签入而不归档?

有没有办法在每次提交时在文件中包含git commit哈希?我只能在归档期间找到如何执行此操作,但我无法找到如何为每次提交执行此操作.

我正在使用git作为修订控件进行科学编程,因此这种功能对于重现性原因非常有用(即,git hash会自动包含在所有结果文件和数字中).

git hash scientific-computing

5
推荐指数
1
解决办法
1124
查看次数

从SVN转换为Git时,如何将修订号放在提交消息中?

我们将把我们的存储库从Subversion转换为Git,但是希望能够保留SVN修订版号,因为bug跟踪器中的注释会定期引用它.

我们将使用John Albin博客git svn clone中描述的流程.

有没有办法在提交消息中包含修订号?我宁愿在克隆期间这样做,但后处理步骤是可以接受的.

是的,我知道git svn find-rev,但这需要SVN存储库,用户可以通过网络访问它.

git clone git-svn

4
推荐指数
1
解决办法
1029
查看次数