Git在提交时向文件添加修订号

时间:2013-05-27 01:59:14

标签: git version-control

嘿,我想知道git中是否有办法制作特定文件的副本,并在提交时使用修订号重命名(如果进行了更改)。

例如,如果我有一个名为'code.js'的文件,当我对其进行更改并提交时,我希望能够在保留原始文件的同时使其成为'code-1.0.0.js'(或者最后一份)。

我知道手动做这不是什么大不了的事,只是想知道是否有更好的方法使用git。

2 个答案:

答案 0 :(得分:2)

您可以通过可以在.gitattributes文件中进行版本和注册的脚本自动生成该文件。

这意味着,在git checkout上,code-1.0.0.js将自动生成(作为私有文件,而不是在git repo中版本化),用于本地回购所有者使用。

content filter

版本可以是computed from a git describe

git describe --abbrev=4 HEAD

答案 1 :(得分:0)

您可以使用git hooks。使用此内容在文件夹pre-commit(位于存储库根目录下)中创建名为.git/hooks的文件

#!/bin/sh
cp -f code.js code-1.0.0.js
git add code-1.0.0.js

然后,当您提交时,code.js的内容将被复制到code-1.0.0.js,并且该文件也将被提交。

pre-commit脚本处于bash状态,因此您可以根据需要对其进行改进。例如,您可以增加文件名中的版本号。

然而,在文件名中嵌入版本号的概念确实感觉它违背了Git的内容。如果您想要HTTP缓存的文件版本,那么最好使用内置于Web开发环境或Web服务器中的某些功能。