这更多的可能是一个诀窍的问题:
我使用Git版本控制和使用rsync将文件发送一个PHP CMS到测试或生产基地。 现在,我想跟踪什么承诺目前采用防呆和自动化系统的部署,我在想这个问题:
建立一个Git挂钩添加/更新了最新的标记文本文件并提交哈希值。 然后,我可以很容易地查找提交。
我的问题是,在时提交前的脚本将不知道提交哈希值。 有没有弄完任何直接的方法(或涉及到同样的目的的另一种方法)?
感谢事先您输入!
这更多的可能是一个诀窍的问题:
我使用Git版本控制和使用rsync将文件发送一个PHP CMS到测试或生产基地。 现在,我想跟踪什么承诺目前采用防呆和自动化系统的部署,我在想这个问题:
建立一个Git挂钩添加/更新了最新的标记文本文件并提交哈希值。 然后,我可以很容易地查找提交。
我的问题是,在时提交前的脚本将不知道提交哈希值。 有没有弄完任何直接的方法(或涉及到同样的目的的另一种方法)?
感谢事先您输入!
好吧,我想我得到了一个确定的解决方案:
有所谓的后提交,并在此混帐挂钩是我做的:
钩子文件的内容:
#!/bin/sh
git describe --tags > version.txt
现在,我敢肯定,该文件是最新日期之后每次提交,所以像我这样在部署之前提交我都设置为长。
注:讨厌初学者的一点:使钩可执行文件,Git会忽略该文件没有,如果它不是警告。
所有关于git的钩子: http://git-scm.com/book/en/Customizing-Git-Git-Hooks
所有有关的.gitignore: http://git-scm.com/book/en/Git-Basics-Recording-Changes-to-the-Repository#Ignoring-Files
干杯,
马丁
这是一个常见问题。
https://git.wiki.kernel.org/index.php/Git_FAQ#Does_Git_have_keyword_expansion.3F
搜索gitattributes出口SUBST(5),你需要使用git-存档(1)来完成替换。
(%H为您提供的哈希值。为了在获取代码,你仍然需要调用混帐描述的脚本(1),我没有看到一个格式)
由于您使用rsync将deploy
你的代码,然后,做这样的事情:
$ git describe --long > VERSION.txt
随后,包括VERSION.txt
在rsync的包。
git的描述字符串如下所示:
$ git describe --long
r1.0-2-gca93d0a
在上面: