Windows 在我的.git文件夹中是否有一个专用位置可以放置私有脚本?

Windows 在我的.git文件夹中是否有一个专用位置可以放置私有脚本?,windows,git,msysgit,Windows,Git,Msysgit,我有一些在Git repo中使用的自定义筛选脚本 目前,它们与我的源一起签入,这有时会导致问题:当我签出一个比我在repo中添加过滤器脚本的版本更旧的版本时,我会收到警告,说过滤器无法执行,因为找不到它们 为了克服这个问题,我想把脚本放在.git文件夹中,这样它们就可以出现在我需要它们的地方,但在签出旧版本时不会出现问题 我想把它们保存在repo中,因为脚本内容是特定于repo的,所以简单地把它们放在我机器上的另一个位置并不是我想要的 问题是:在.git文件夹中是否有一些“安全”的位置可以存储脚

我有一些在Git repo中使用的自定义筛选脚本

目前,它们与我的源一起签入,这有时会导致问题:当我签出一个比我在repo中添加过滤器脚本的版本更旧的版本时,我会收到警告,说过滤器无法执行,因为找不到它们

为了克服这个问题,我想把脚本放在
.git
文件夹中,这样它们就可以出现在我需要它们的地方,但在签出旧版本时不会出现问题

我想把它们保存在repo中,因为脚本内容是特定于repo的,所以简单地把它们放在我机器上的另一个位置并不是我想要的

问题是:
.git
文件夹中是否有一些“安全”的位置可以存储脚本?


安全的意思是脚本不会自动清理,也不会在以后的Git版本中出现问题。

为什么不将脚本的名称包含在.gitignore文件中?这样,您的脚本就不会被跟踪,您可以将它们放在repo中您想要的任何位置。

git文件夹本身的内容不是很动态(引用和日志的变化是不可预测的,所以请远离它们)

如果你看看你的任何回购协议的
.git
文件夹,你就会非常清楚通常会有什么

好的,位于
.git
文件夹顶层的文件夹通常不以句点开头,因此您可以创建一个文件夹
.git/.scripts
,以包含您的私有脚本文件


如果你愿意,你也可以在
info
文件夹中这样做——这完全取决于你自己,你会发现它更有条理。

这一点很好。虽然这在原则上是可行的,但我不想让我的工作树中充斥着基本上不是绝对需要的文件。源代码树应该尽可能干净……在这种情况下,为什么不将脚本放在repo之外,并在需要时从repo内部调用它们呢?如果您必须将脚本保存在
.git
目录中,我会投票支持
.git/hooks/
。此目录保存根据名称调用的脚本(例如,在每次提交操作之前自动调用
预提交
)。如果您的脚本与任何钩子脚本名称都不冲突,那么将它们保留在那里应该没有问题。