带参数的 Git 别名

标签 git command-line-interface alias

我的团队在不同的分支机构工作,通常,我需要快速从分支机构切换来帮助他们。但我需要花费大量时间查找他们正在哪个分支上工作,并且我需要重新输入整个分支名称(而且它们很长)。

所以我找到了一个方便的命令,可以让我获取分支名称,而无需循环遍历整个列表: git branch -a | find "72"它返回给我:remotes/origin/72-js-remove-the-player-from-the-game 。我们的分支名称始终在名称前面包含 GitLab 的 merge 请求编号,因此它始终是唯一的编号。

我想将其缩短为简单的 git find 20 。我认为 git CLI 与 bash shell 类似,但要添加带有参数的别名,我需要访问 .bashrc (我无法找到 Git CLI)。

另外,如果可能的话,我想也许可以缩短搜索分支、将其重新输入 CLI 并使用与此类似的单个命令(如 git qswitch 20 )切换到它的整个过程。

最佳答案

我不确定是否像您请求的那样使用别名,但 git 配置中有一个别名选项,您可以在其中执行类似的操作

git config --global alias.fin 'branch -a | find'

Git doesn’t automatically infer your command if you type it in partially. If you don’t want to type the entire text of each of the Git commands, you can easily set up an alias for each command using git config.

说实话,我不确定它与管道的配合效果如何

所以基本上你的命令将变成 git fin "72"

引用https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases https://www.atlassian.com/blog/git/advanced-git-aliases

编辑:感谢@torek

如果我们想使用管道,上述方法实际上行不通,这是一个有效的示例

git config --global alias.fin !f(){\git 分支 -a |找到 1 美元;\};f

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

相关文章:

贡献者页面的 Git 颜色代码

Git 不提交阶段性更改

scala - 如何处理scala中外部命令的用户交互

audio - 如何使用 ffmpeg CLI 拉伸(stretch)音频流的开头,使用静音,以匹配视频的开头?

java - 使用单一命令行 Java (Linux) 编译和构建

git - "urlopen error [Errno -2] Name or service not known"是什么意思?

git - 当我尝试从本地推送到远程 gitlab 存储库时权限被拒绝

c++ - 人机界面命令语法及解析

class - TypeScript "use"/类的别名

具有相同类名的php多个class_alias