微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。