我不小心将错误的文件提交给Git,但我还没有将提交推送到服务器.
如何从本地存储库中撤消这些提交?
今天,预提交突然开始无法在我们的构建中安装isort钩子,并出现以下错误
[INFO] Installing environment for https://github.com/pycqa/isort.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
An unexpected error has occurred: CalledProcessError: command: ('/builds/.../.cache/pre-commit/repo0_h0f938/py_env-python3.8/bin/python', '-mpip', 'install', '.')
return code: 1
expected return code: 0
[...]
stderr:
ERROR: Command errored out with exit status 1:
[...]
File "/tmp/pip-build-env-_3j1398p/overlay/lib/python3.8/site-packages/poetry/core/masonry/api.py", line 40, in prepare_metadata_for_build_wheel
poetry = Factory().create_poetry(Path(".").resolve(), with_groups=False)
File "/tmp/pip-build-env-_3j1398p/overlay/lib/python3.8/site-packages/poetry/core/factory.py", line 57, in create_poetry
raise RuntimeError("The Poetry configuration is invalid:\n" + message)
RuntimeError: The Poetry …
Run Code Online (Sandbox Code Playgroud) 我正在写一个预提交钩子.我想php -l
对所有扩展名为.php的文件运行.但是我被卡住了.
我需要获取已暂存的新/已更改文件的列表.应排除已删除的文件.
我已经尝试使用git diff
和git ls-files
,但我想我需要一只手在这里.
我想使用Git中的预提交或后提交挂钩将自动生成的文件添加到同一提交中,这取决于在该提交中修改的文件.我该怎么做?
我已经尝试过这个作为预先提交的钩子,但没有运气:
#!/bin/sh
files=`git diff --cached --name-status`
re="<files of importance>"
if [[ $files =~ $re ]]
then
echo "Creating files"
exec bundle exec create_my_files
exec git add my_files
exec git commit --amend -C HEAD
fi
Run Code Online (Sandbox Code Playgroud)
这会成功将它们添加到存储库,但不会将它们添加到提交中.我也尝试在post-commit钩子中使用最后两个exec行以及pre-commit检查,但也没有好处.
有没有人有关于如何添加预提交钩子的明确说明,以避免更改标签子目录?
我已经在互联网上搜索了一下.我发现这个链接:SVN :: Hooks :: DenyChanges,但我似乎无法编译.
SVN有哪些常见和/或有用的预提交钩子?
我似乎无处可去.在网上搜索脚本等等.任何人都有一个脚本,您可以在Windows环境中编辑现成的pre-commit.tmpl,该环境需要输入x字符才能在Tortoise Subversion中提交注释全局,以便团队中的所有成员都需要,而这个要求从SVN服务器下推到客户端?
我不知道脚本语言,这应该是非常简单的事情,没有我花时间找出接下来3个小时的脚本.
我尝试提交时收到此错误.
OS - 最新的OSX
Git版本 - git版本2.11.0(Apple Git-81)
.git/hooks/pre-commit: line 2: ./node_modules/pre-commit/hook: No such file or directory
Run Code Online (Sandbox Code Playgroud) 一些奇怪的错误突然冒出来,并阻止我通过TortoiseSVN检查我的代码.我在myversioncontrol.com上使用免费帐户
这是在Windows Vista系统上.它工作正常,直到当天早些时候.任何线索如何让事情恢复正常?
Tortoise窗口显示了这一点
Command: Commit
Modified: ...\edit.php
Sending content: ...\edit.php
Error: Commit failed (details follow):
Error: Commit blocked by pre-commit hook (exit code 1) with output:
Error: n/a (6).
Finished!:
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用预提交来管理Black作为 Git 预提交挂钩,但我一定是做错了。
在我的预提交配置文件中,我有:
- repo: https://github.com/psf/black
rev: 19.3b0
hooks:
- id: black
Run Code Online (Sandbox Code Playgroud)
我期望发生的是 Black 只修改暂存文件,并且提交成功。因为 Black 的全部意义在于它自动强制执行 Python 代码样式规则,所以不会提出任何问题。
当我暂存(非黑色兼容)文件并尝试提交时实际发生的情况:黑色继续修改文件以使其符合预期……但问题是它返回了“失败”。所以提交失败。然后我必须取消暂存文件,然后在再次提交之前重新暂存它......只有这样提交才能成功。
这是一个巨大的烦恼,不可能是预期的工作流程?
我究竟做错了什么?
pre-commit ×10
git ×5
svn ×4
svn-hooks ×3
githooks ×2
hook ×2
tortoisesvn ×2
git-commit ×1
isort ×1
python ×1
python-black ×1
tags ×1
undo ×1
windows ×1