我正在尝试向我的全局gitconfig添加一个函数。
例如,我做了以下快捷方式。com = checkout master
cod = checkout develop
现在我正在尝试制作一个简短的命令来检查功能&发布得更快。
想要我基本上想要创建的是以下
cof = checkout feature/
所以我可以运行以下命令
git cof feature-name
但是因为/和名称之间不应该有空格,所以它不起作用。否则,如果我之间没有空格,它也将无法工作(这是合乎逻辑的)
git coffeature-name
无论如何,我可以用类似的方式解决这个问题。
答案 0 :(得分:2)
您可以通过在!
前加上别名值来定义shell解释的别名。你的args仍然会被附加到完整的命令,但是你可以使用技巧来避免这种情况,而是做你自己的事情。有了我的shell,下面就可以了,但它比我想要的更神奇:
cof = !git checkout feature/$1; shift;
答案 1 :(得分:2)
我相信你要找的别名如下:
cof = "!f() { FEATURE=$1; shift; git checkout $@ feature/$FEATURE; }; f"
这为您提供了git checkout
的所有功能,并提供了功能分支的简写。这允许您使用-b
,-B
或--orphan
标志来创建新分支; --
用于指定路径;等
!
:告诉git别名是shell的别名。f()
:在括号内定义一个函数f
:在大括号执行函数FEATURE=$1; shift;
:该函数接受第一个参数,将其赋值给变量,然后将其从参数列表中删除。git checkout $@ feature/$FEATURE
:将您传递的所有参数(第一个是功能名称除外)传递给git checkout
,其参数的前缀为feature/
。答案 2 :(得分:0)
另一种方法是添加一个名为:
的sjell脚本(甚至在Windows上)Job.where('balance != 0').joins(:ledgers).where_last_ledger_balance_equals_0
(没有延期)
在其中,您可以编写所需的任何bash脚本:
git-cof
您可以将其称为#!/bin/bash
git checkout feature/$1
。
这甚至可以在Windows上运行,并且可以使用命令git cof feature-name
调用git-xxx
中的任何$PATH/%PATH%
脚本。
答案 3 :(得分:0)
经过一些研究,找到this和this,基于Jan Krügers answer使用shell脚本。
对于您的别名,以下内容对我有用:
cof = "!bt() { git checkout feature/$1;}; bt"
编辑:你做只想查看一个现有的分支,而不是创建一个新分支,对吗?否则,您必须添加-b
。