我有一个 git Hook ,只要有人提交到他们的本地存储库,它就会运行。
有些人从终端提交,有些人从 SourceTree 或 SmartGit 或其他一些第 3 方应用程序提交。
SourceTree 在涉及 Hook 时表现不同。例如,默认情况下错误是红色的,并且似乎不支持用户输入,所以我需要根据用户是从 SourceTree 还是 SmartGit 等提交来更改我的 python 脚本。
有什么方法可以在我的脚本中执行此操作吗?
最佳答案
我能够使用此 python 代码解决问题。它只是检查环境变量是否出现任何第三方 git 客户端。我不知道它是否是最佳解决方案,或者它是否会一直有效 - 但它目前满足我的需求。
is_terminal = True
for key in os.environ:
if "SourceTree" in os.environ[key] or "SmartGit" in os.environ[key]:
is_terminal = False
break
关于python - 如何知道是否不在终端/命令行中调用 git hook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37802305/