git 最近结帐分支的别名
git alias for recent checkout branches
我最近发现这个命令可以获取最近 10 个签出分支的列表。
git reflog | egrep -io 'moving from ([^[:space:]]+)' | awk '{ print }' | awk ' !x[[=11=]]++' | head -n10
我想为这个调用创建一个别名 "git recent",但是当我尝试 运行 配置命令时它抛出一个错误。 “未找到事件”
git config --global alias.recent 'reflog | egrep -io 'moving from ([^[:space:]]+)' | awk '{ print }' | awk ' !x[[=12=]]++' | head -n10'
有没有办法把这个复杂的命令作为别名。如果有人知道如何将它作为除数字参数之外的别名,我们也将不胜感激。命令末尾的 -n10 说明有多少分支到 return.
"event not found" 来自你的 bash 解释命令行中的 !
...你在第二个命令中混淆了你的单引号。应该清楚如何解决这个问题;说如果你有困难搞清楚...
双引号也不起作用:
> echo '!'
!
> echo "!"
bash: !: event not found
提示:你可以在外面加上引号'
,然后在里面使用"
,这会转义整个命令,包括bash中的!
。
我现在没有时间向您说明这一点,但我相信您很快就会明白...;)
这适用于遇到此问题且此命令对他们感兴趣的任何人。我确定了一个方法。
首先,我放弃了尝试使用 git 配置命令来执行此操作。我改为打开 git 配置文件本身并以这种方式添加别名。
Adding git aliases
其次我确定我的脚本是正确的我只需要将它添加为一个函数。 my_alias = "!f() { <你的复杂命令> }; f"
How to add Advanced alias template in git
这是我的别名示例。
[alias]
recent = "!f() { git reflog | egrep -io 'moving from ([^[:space:]]+)' | awk '{ print }' | awk ' !x[[=10=]]++' | head -n${1-10}; }; f"
虽然与您要求的有点不同,但找出最近更改过的分支可能更有意义。
在这种情况下 git branch
实际上有一个 --sort=<key>
选项,它可以打印按给定键排序的分支,例如:
git branch --sort=-committerdate -v
这将按 committerdate
对分支进行排序,但如 -committerdate
中的前缀 -
所指定的那样相反。并打印最新的提交,以设置别名,例如 br
、运行 此命令:
git config --global alias.br "branch --sort=-committerdate -v"
我最近发现这个命令可以获取最近 10 个签出分支的列表。
git reflog | egrep -io 'moving from ([^[:space:]]+)' | awk '{ print }' | awk ' !x[[=11=]]++' | head -n10
我想为这个调用创建一个别名 "git recent",但是当我尝试 运行 配置命令时它抛出一个错误。 “未找到事件”
git config --global alias.recent 'reflog | egrep -io 'moving from ([^[:space:]]+)' | awk '{ print }' | awk ' !x[[=12=]]++' | head -n10'
有没有办法把这个复杂的命令作为别名。如果有人知道如何将它作为除数字参数之外的别名,我们也将不胜感激。命令末尾的 -n10 说明有多少分支到 return.
"event not found" 来自你的 bash 解释命令行中的 !
...你在第二个命令中混淆了你的单引号。应该清楚如何解决这个问题;说如果你有困难搞清楚...
双引号也不起作用:
> echo '!'
!
> echo "!"
bash: !: event not found
提示:你可以在外面加上引号'
,然后在里面使用"
,这会转义整个命令,包括bash中的!
。
我现在没有时间向您说明这一点,但我相信您很快就会明白...;)
这适用于遇到此问题且此命令对他们感兴趣的任何人。我确定了一个方法。
首先,我放弃了尝试使用 git 配置命令来执行此操作。我改为打开 git 配置文件本身并以这种方式添加别名。 Adding git aliases
其次我确定我的脚本是正确的我只需要将它添加为一个函数。 my_alias = "!f() { <你的复杂命令> }; f" How to add Advanced alias template in git
这是我的别名示例。
[alias] recent = "!f() { git reflog | egrep -io 'moving from ([^[:space:]]+)' | awk '{ print }' | awk ' !x[[=10=]]++' | head -n${1-10}; }; f"
虽然与您要求的有点不同,但找出最近更改过的分支可能更有意义。
在这种情况下 git branch
实际上有一个 --sort=<key>
选项,它可以打印按给定键排序的分支,例如:
git branch --sort=-committerdate -v
这将按 committerdate
对分支进行排序,但如 -committerdate
中的前缀 -
所指定的那样相反。并打印最新的提交,以设置别名,例如 br
、运行 此命令:
git config --global alias.br "branch --sort=-committerdate -v"