gpt4 book ai didi

带有参数和 fish shell 的 Git 别名

转载 作者:太空狗 更新时间:2023-10-29 14:02:54 25 4
gpt4 key购买 nike

Human Git aliases包括一些接受参数的函数,例如

into = "!f() { B=$(git current-branch); git checkout $1; git pull; git merge $B --no-edit; }; f"

我很难让类似的东西在 fish 身上起作用。
我可以创建一个 fish 别名,比如说 git-into,它可以工作,但我宁愿有一个 git 别名,这样我就不必记住哪些命令使用破折号,哪些命令使用空格。

使用! fish -c STUFF”或“! bash -c STUFF 没有正确传递参数。

我该怎么做才能做到这一点

git into repository

会执行与上述脚本等效的操作吗?

最佳答案

添加前导“!”别名确实意味着 git 在 shell 中运行它,但 shell 在这里不是 fish 。它是在构建时作为 SHELL_PATH 给出的 shell,最有可能(并且默认为)“/bin/sh”。并且由于 git 使用相同的 shell 来运行其他东西(例如寻呼机),它绝对应该是一个 POSIX 兼容的,这排除了 fish。

您的用户选择的登录 shell 无关紧要。

所以您可以简单地使用原始代码,它应该可以工作。

或者,您可以将其放入 $PATH 中名为 git-into 的脚本(没有结尾,正确的 shebang 行和可执行位),当您调用 时 git 会找到它混入

如果你真的想在这里使用fish -c,你将不得不处理两个稍微不兼容的引用层,这不是我想要的推荐。

关于带有参数和 fish shell 的 Git 别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53340575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com