如何将git cherry-pick --continue与--no-verify组合使用,因为--no-verify不是有效选项。git cherry-pick --no-commit --continue不起作用,因为这两个参数互斥。
git cherry-pick --continue
--no-verify
git cherry-pick --no-commit --continue
h9a6wy2h1#
为了扩展@mickdekkers的答案,我在~/.bashrc中添加了以下函数--
~/.bashrc
git() { if [[ $@ == *"--no-verify"* ]]; then command git -c core.hooksPath=/dev/null "$@ | sed 's/--no-verify//'"; else command git "$@"; fi; }
这会在使用--no-verify标志时将挂接路径设置为null。
null
kkih6yb82#
另一种可能的解决方法是在提交之前隐藏/取消隐藏,因为这将停止挑选操作,以便可以使用通常的commit命令:
git stash git stash pop git add -u git status git commit -n
0pizxfdo3#
如果您的cherry-pick(没有--no-commit)有合并冲突,并且您希望在解决冲突后处理--continue,您可以使用以下命令暂时禁用当前repo的git钩子:
cherry-pick
--no-commit
--continue
$ git config core.hooksPath # Print current setting $ git config core.hooksPath '/dev/null/'
完成后,根据之前是否设置了core.hooksPath,您可以恢复以前的设置:
core.hooksPath
$ git config core.hooksPath '/some/previous/path'
或再次取消设置:
$ git config --unset core.hooksPath
mznpcxlj4#
--no-verify是commit指令的选项,而不是cherry-pick。然而,您 * 可以 * 做的是为您的cherry-pick使用--no-commit标志,然后git commit --no-verify就可以结束挑选了。
commit
git commit --no-verify
4条答案
按热度按时间h9a6wy2h1#
为了扩展@mickdekkers的答案,我在
~/.bashrc
中添加了以下函数--这会在使用
--no-verify
标志时将挂接路径设置为null
。kkih6yb82#
另一种可能的解决方法是在提交之前隐藏/取消隐藏,因为这将停止挑选操作,以便可以使用通常的commit命令:
0pizxfdo3#
如果您的
cherry-pick
(没有--no-commit
)有合并冲突,并且您希望在解决冲突后处理--continue
,您可以使用以下命令暂时禁用当前repo的git钩子:完成后,根据之前是否设置了
core.hooksPath
,您可以恢复以前的设置:或再次取消设置:
mznpcxlj4#
--no-verify
是commit
指令的选项,而不是cherry-pick
。然而,您 * 可以 * 做的是为您的
cherry-pick
使用--no-commit
标志,然后git commit --no-verify
就可以结束挑选了。