我创建了一个预提交挂钩,它获取数据库转储并将其保存在我的应用程序/文件夹下的文件中,该文件也在 git 存储库中,保存后我将文件添加到提交列表中。以下是我的预提交文件中的代码
D:/xampp/mysql/bin/mysqldump -u root -pxyz --skip-extended-insert [database] > D:/xampp/htdocs/app/application/[database].sql
cd D:/xampp/htdocs/app/application
git add [database].sql
我尝试直接通过命令提示符运行预提交代码,它可以正常工作,没有任何错误,但是当我尝试通过 git bash 提交代码时,出现此错误
fatal: Not a git repository: '.git'
我假设这是因为预提交文件中使用了 git 命令,任何人都可以告诉我这个文件有什么问题以及我应该如何修改它
有疑问,在你的钩子中,明确设置git-dir
and work-tree
参数:
git --git-dir .git --work-tree . add ...
您甚至可以将完整路径设置为更加确定:
git --git-dir D:/xampp/htdocs/app/application/.git --work-tree D:/xampp/htdocs/app/application/. add ...
这样,您就可以排除任何环境问题git-dir
or work-tree
陷入另一条路径,该路径不是您正在进入的存储库的路径。
See "呼唤'git pull' 来自一个git post-update hook”作为该问题的一个例子。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)