gpt4 book ai didi

python - 有没有办法让 git commit --verbose 在使用预提交 Hook 时显示更新的差异?

转载 作者:行者123 更新时间:2023-12-05 07:26:00 24 4
gpt4 key购买 nike

所以我目前正在设置一个 git pre-commit 钩子(Hook)来使用 iSort 和 python Black 整理我的 python 文件,我遇到的问题是当我使用 git commit --verbose 提交编辑器中显示的差异实际上并未考虑对暂存文件的修改。

例如,假设我有一个如下所示的 python 文件:

import re

from os import path

def x():
v = re.compile(r"1")
print(3, v)

def y(v=3):
z = path.join("a", "b")
thing = "a string"
print(thing, z)

基于我配置的 iSort 和黑色设置,我的预提交脚本会将文件更改为如下所示:

import re
from os import path


def x():
v = re.compile(r"1")
print(3, v)


def y(v=3):
z = path.join("a", "b")
thing = "a string"
print(thing, z)

不幸的是,在 git 提交编辑器中它仍然显示未修改的差异。有什么方法可以让编辑器获得正确的输出吗?

理论上我想这无关紧要,但很高兴看到实际差异是什么。

最佳答案

代替预提交 Hook ,尝试使用内容过滤器驱动程序,使用污迹/清理脚本,它可以:

  • 在 checkout 时以一种方式制作脚本
  • 在提交时(或在 git diff 上)以另一种方式制作你的脚本

查看 example here(for clean) here

/image/tumAc.png
(图片来自 "Customizing Git - Git Attributes" 来自“Pro Git book ”))

关于python - 有没有办法让 git commit --verbose 在使用预提交 Hook 时显示更新的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54583516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com