Git   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了git不能执行python脚本作为钩子大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我在python中创build了一个pre-commit钩子。 这个钩子在Linux下像一个魅力,但在Windows中它告诉我:

error: cAnnot spawn .git/hooks/pre-commit: No such file or directory

我知道在这里有类似的问题,关于同一个问题,结论是接缝。 我的脚本在第一行有这个:

#!F:PortableAppsPortablepython3.2Apppython.exe

注意到通过编写.git/hooks/pre-commit来执行脚本也很有意思,但是一旦我尝试提交,git就会吐出上面的消息。

一个有趣的事情是,当我将编码从ANSI转换为UTF-8(使用Notepad ++)时,尝试执行脚本时出现以下错误

Python Git Bash CMD脚本

git,在Windows上的SSH_ASKPASS

我的Windows PC上有多个版本的Git?

Windows资源pipe理器中的.gitignore空白

提交PNG文件到Windows上的Git打破了%PNG r n标题

.git/hooks/pre-commit: CAnnot execute binary file

我正在使用以下工具:

PortablePython 3.2.1.1

@H_140_0@msysgit 1.7.6(便携式)

git daemon在ubuntu 14.04上首先缓慢的请求

Git Bash杀死我的Windows 10笔记本电脑 – 为什么?

Git拉拒绝权限的Linux?

git在Windows上:致命的:协议错误:坏行字符:@ –

git clone在不同的服务器上产生不同的权限

我使用代理的方法来使python脚本在windows下工作(使用msysgit)。 可以在这里找到完整的脚本(说明我是如何做到的): https : //gist.github.com/1839424

这是使其在Windows下工作的重要部分

如果你使用的是Windows(和“msysgit”),那就更复杂了。 由于“msysgit”似乎在处理SHEBANG时遇到了问题,因此您必须使用一些小技巧来使脚本可执行(有关此问题的更多信息,请参阅此处 )。

为了使脚本正常工作,您需要从Python脚本(“pre-commit.py”)中移除SHEBANG,并使用包装器bash脚本来调用解释器。 这个脚本应该看起来像这样

#!/bin/sh python .git/hooks/pre-commit.py

将此脚本存储为一个名为“pre-commit”(无文件结尾)的文件。 这假定你的PATH中有Python。 如果你不这样做,你也可以指定解释器可执行文件的完整路径。

这个脚本将被“git commit”调用,并调用python脚本来检查巨大的文件。 SHEBANG之后的路径不应该改变,因为“msysgit”会自动重新映射它。 您必须为要执行的Python脚本指定一个相对于repo-root的路径(因为脚本被调用的位置)。

之后,您需要将包装文件(“pre-commit”)和Python脚本(“precommit.py”)复制到您的资源库“.git / hooks”目录中,个性化Python脚本(“max_file_size”和“giT_Binary_path”),并标记“预提交”文件的可执行文件

大佬总结

以上是大佬教程为你收集整理的git不能执行python脚本作为钩子全部内容,希望文章能够帮你解决git不能执行python脚本作为钩子所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: