VSCode 在预提交挂钩失败后重新暂存暂存文件以便再次提交

问题描述

我有一个 Django 项目,其中包含几个使用 Python 的 pre-commit 工具的预提交钩子,配置如下:

repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v2.0.0
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer
      - id: check-yaml
      - id: check-added-large-files

  - repo: https://github.com/python/black
    rev: master
    hooks:
      - id: black
  - repo: https://github.com/asottile/seed-isort-config
    rev: master
    hooks:
      - id: seed-isort-config
  - repo: https://github.com/pre-commit/mirrors-isort
    rev: master
    hooks:
      - id: isort
  -   repo: https://gitlab.com/pycqa/Flake8
      rev: master
      hooks:
      -   id: Flake8

通常,当由于终端上的预提交挂钩而导致提交失败时,我会执行以下操作:

git add foo.py
git commit -m "added foo"
# pre-commit runs and fails
# black,end-of-file-fixer fixes staged files
git add foo.py # add fixed files again
git commit -m "added foo"
# this time,runs successfully

我想从 VSCode 获得相同的行为。

git panel of vscode

我暂存我的更改,编写提交消息并提交。 VSCode 自然失败。

vscode fails on commit

无论我在 VSCode 上提交多少次,它都不会“暂存”blackend-of-file-fixer 所做的自动更改。因此,当我再次单击时,我希望 VSCode 再次添加文件,因为它们的内容已更新。我该怎么做?

提前致谢。


环境

  • VSCode 1.52.1
  • Git 2.25.1
  • 预提交 2.9.3

如果相关:

  • Kubuntu 20.04.1
  • Python 3.8

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...