3

嘿,我想知道 git 中是否有一种方法可以复制特定文件并在提交时使用修订号重命名(如果进行了更改)。

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

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

4

2 回答 2

2

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

这意味着 ongit checkoutcode-1.0.0.js自动生成(作为私有文件,未在 git repo 中进行版本控制),供本地 repo 所有者使用。

内容过滤器

版本可以git describe.

git describe --abbrev=4 HEAD
于 2013-05-27T06:25:45.850 回答
0

你可以使用git hookspre-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 服务器中的功能。

于 2013-05-27T19:44:33.937 回答