你是如何用"不验证"继续的



由于--no-verify不是有效选项,如何使用--no-verify进行git cherry-pick --continue。CCD_ 4不起作用,因为这两个参数是互斥的。

如果您的cherry-pick(不带--no-commit(发生合并冲突,并且您希望在解决冲突后使用--continue,则可以使用临时禁用当前回购的git挂钩

$ git config core.hooksPath # Print current setting
$ git config core.hooksPath '/dev/null/'

完成后,根据之前是否设置了core.hooksPath,您可以恢复以前的设置:

$ git config core.hooksPath '/some/previous/path'

或者再次取消设置:

$ git config --unset core.hooksPath

--no-verifycommit命令的选项,而不是cherry-pick

然而,可以cherry-pick使用--no-commit标志,那么git commit --no-verify就可以完成樱桃采摘。

进一步扩展@teejay bruno方法,我所做的是:

pre-commit run
git -c core.hooksPath=/dev/null  cherry-pick --continue

这样,即使某些项目失败,我仍然可以运行验证,并且在不更改全局配置的情况下进行挑选

如果所有冲突都已解决,则不需要git cherry-pick --continue
git commit --no-verify。然后这个过程就完成了。

为了扩展@mickdekkers的答案,我在~/.bashrc-中添加了以下函数

git() {
if [[ $@ == *"--no-verify"* ]];
then
command git -c core.hooksPath=/dev/null "$@ | sed 's/--no-verify//'";
else
command git "$@";
fi;
}

这在任何时候使用--no-verify标志时都将hookpath设置为null

另一种可能的解决方法是在提交之前隐藏/取消隐藏,因为这将停止樱桃采摘操作,以便可以使用通常的提交命令:

git stash
git stash pop
git add -u
git status
git commit -n

好问题。为了避免接触git-config或做复杂的事情,一个技巧是注释您的预提交文件,然后在樱桃采摘完成时取消注释。

我只是在进行gitcherry pick时遇到了一些git冲突。

在修复和git添加所需的更改后,运行git commit -m "xxx" --no-verify而不是git cherry-pick --continue解析它。

相关内容

  • 没有找到相关文章

最新更新