如何在 Windows 中使用相对路径设置 Git 选项?

Posted

技术标签:

【中文标题】如何在 Windows 中使用相对路径设置 Git 选项?【英文标题】:How to set Git options with relative path in Windows? 【发布时间】:2021-12-31 09:37:55 【问题描述】:

我有以下项目结构并尝试将默认的 git hooks 路径从 .git/hooks 更改为 .githooks。我发现命令git config core.hooksPath .githooks 对此负责。但是我一直在努力解决 Windows 10 中的相对路径,我需要上 2 次然后指定 .githooks 目录,但是任何 ..\.../."..\." 都不起作用。 也许问题不仅在 Windows 中,而且还有 Git 如何处理配置文件的方式,这个路径将被写入哪里

如何指定这样的路径,例如在 PowerShell 中?

项目目录:

|
└───.githooks <---I want it here
└───.git
│   └───hooks <---by default it's here

已解决: phd 建议使用 git config core.hooksPath ./.githooks 适用于windows

【问题讨论】:

在什么情况下git config core.hooksPath .githooks 不起作用?也可以试试git config core.hooksPath ./.githooks git config core.hooksPath ./.githooks 完美运行。谢谢! 您知道,在存储库中存储挂钩是不安全的,因为它允许任何可以写入存储库的人执行任意代码。 【参考方案1】:

core.hooksPath … 可以是 … 相对的。相对路径被视为相对于运行挂钩的目录(请参阅"DESCRIPTION" section of githooks)。

«在 Git 调用钩子之前,它会将其工作目录更改为裸存储库中的 $GIT_DIR 或非裸存储库中工作树的根目录。»

(强调我的——phd)。

要将您的.githooks/ 放入根目录,您应该提供到根目录的相对路径./。所以使用

git config core.hooksPath ./.githooks

【讨论】:

以上是关于如何在 Windows 中使用相对路径设置 Git 选项?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 项目设置中使用相对路径?

从不同的目录运行早午餐并使用相对路径

idea中如何配置git以及在idea中初始化git,并push到码云

我如何在 git 的其他路径上备份/版本控制我的文件(具有 IDE 设置)?

windows下git怎么管理权限

如何在 Windows 上打开带有正斜杠的路径?