我如何初始化git Repository并将钩子和文件添加到其中?

时间:2015-08-24 06:58:11

标签: git github git-commit pre-commit-hook

我想初始化一个空的本地存储库,然后用this中的数据(文件)填充它。我想附加一个预提交钩子,用于获取最后一个修订号,并将其作为文本自动插入源代码中。我是红色的,如果我想这样做,我还需要一些名字以点开头的疯狂文件夹(例如.git,.gitattrubutes)。到目前为止,我发现该结构在master / 分支上应该看起来像那样:

.gitattributes
.git/(hooks,logs,refs.. e.g.)
Diff.txt,
text.c,
.....

我应该如何准备预提交钩子(如果最新版本是120,它会增加120并写入121)

我正在使用Windows 7和Tortoise Git

谢谢!

1 个答案:

答案 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)。