我想初始化一个空的本地存储库,然后用this中的数据(文件)填充它。我想附加一个预提交钩子,用于获取最后一个修订号,并将其作为文本自动插入源代码中。我是红色的,如果我想这样做,我还需要一些名字以点开头的疯狂文件夹(例如.git,.gitattrubutes)。到目前为止,我发现该结构在master / 。分支上应该看起来像那样:
.gitattributes
.git/(hooks,logs,refs.. e.g.)
Diff.txt,
text.c,
.....
我应该如何准备预提交钩子(如果最新版本是120,它会增加120并写入121)
我正在使用Windows 7和Tortoise Git
谢谢!
答案 0 :(得分:0)
也可以使用Tortoise GIT / SVN和Lua自定义预提交脚本
例如:
右键单击存储库,然后选择“Git Sync ...”
Local Branch: master
Remote Branch: master
Remote URL: origin
单击“拉”,然后单击“关闭”。本地修订版已更新
右键单击本地存储库,转到Tortoise Git。
在右键弹出的上下文菜单中选择设置
在设置树(右侧)中选择Hooks脚本
点击“添加”
Hook type: Pre-Commit hook
Working tree path: ( Here lays the path to your local directory repo )
在“要执行的命令行:”中,您必须放置两个路径。第一个是 路径为“lua.exe”(假设为D:\ IDES \ Lua \ lua.exe),它将执行您的脚本,第二个是执行脚本。让我们说我的回购看起来像这样:
D:\Repos\stm32f4-dac\..
pre-commit.lia
dsp-stm-32f4.h <-- On the last line we have the revision number
dsp-stm-32f4.c
然后你应该放在那里:
D:\ IDES \ Lua \ lua.exe [此处只有空格] D:\ Repos \ stm32f4-dac \ pre-commit.lua
在“pre-commit.lua”中查找文件的最后一行,将修订号与Lua的字符串库匹配,将其转换为数字,递增,生成新字符串,然后将其写入文件(dsp- stm-32f4.h)。