我开始使用.bashrc来编写我经常使用的git命令的快捷方式。
我为此付出了很多努力,因为99%的教程因为某些奇怪的原因而无法为我工作。例如,使用配置文件和其他建议什么都不做。
.bashrc确实有效,所以我开始写这些:
alias gg='git gui'
alias gs='git status'
alias gb='git branch'
alias gc='git checkout'
等
我要添加的下一个是这个更复杂的东西,构建一个这样的命令:
git branch --set-upstream-to=origin/X X
因为git总是要求我一直输入那个愚蠢的命令而且耗费时间。
我开始关注函数,我尝试过这样的事情:
alias gsu='function _gsu(){ "git branch --set-upstream-to=origin/$1 $1"}'
所以我可以输入
gsu foo
它将尝试运行:
git branch --set-upstream-to=origin/foo foo
但它没有用。
知道如何完成此命令以使其正常运行吗?
答案 0 :(得分:1)
别用该功能。
只需将功能从_gsu
重命名为gsu
重新加载配置文件后,您应该可以执行gsu foo
,这将运行git branch --set-upstream-to=origin/foo foo
答案 1 :(得分:1)
给你两条建议。
首先,对于gsu
函数,只需在.bashrc中定义函数,而不尝试为其创建别名。
gsu() {
git branch --set-upstream-to=origin/"$1" "$1"
}
但是对于你的shell别名集合,我的方法是用一个替换所有这些:
alias g=git
然后将您的快捷方式放入~/.gitconfig
文件中。这是我使用的部分内容:
[alias]
st = status -sb
co = checkout
ci = commit
br = branch
lg = log --decorate --graph --all --format='%C(yellow)%h%Creset %Cred%d%Creset %s %Cgreen%an%Creset (%C(cyan)%ar%Creset)'
然后,如果要创建名为“foo”的分支,请键入:
$ g br foo
它不像你的双字符shell别名那么紧,但它将你所有与git相关的配置保存在我喜欢的git配置文件中。
答案 2 :(得分:0)
我这样做是为了工作。
首先声明一个这样的函数:
function gsu {
git branch --set-upstream-to=origin/$1 $1
}
然后像这样定义:
alias gsu='gsu'