嘿,我想知道 git 中是否有一种方法可以复制特定文件并在提交时使用修订号重命名(如果进行了更改)。
例如,如果我有一个名为“code.js”的文件,当我对其进行更改并提交时,我希望能够使其成为“code-1.0.0.js”,同时保留原始文件(或最后一个副本) .
我知道手动做这没什么大不了的,只是想知道是否有更好的方法使用 git。
嘿,我想知道 git 中是否有一种方法可以复制特定文件并在提交时使用修订号重命名(如果进行了更改)。
例如,如果我有一个名为“code.js”的文件,当我对其进行更改并提交时,我希望能够使其成为“code-1.0.0.js”,同时保留原始文件(或最后一个副本) .
我知道手动做这没什么大不了的,只是想知道是否有更好的方法使用 git。
您可以通过可以在文件中进行版本控制和注册的脚本自动生成该.gitattributes
文件。
这意味着 ongit checkout
将code-1.0.0.js
自动生成(作为私有文件,未在 git repo 中进行版本控制),供本地 repo 所有者使用。
版本可以从git describe
.
git describe --abbrev=4 HEAD
你可以使用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 服务器中的功能。