我正在尝试使用与现有命令相同的别名作为别名,以便别名隐藏原始命令(阻止我从工作树中删除文件).
[alias]
rm = rm --cached
diff = diff --color
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用.有没有人知道解决方法?谢谢.
编辑
设置color.diff = true
默认为彩色输出.
mip*_*adi 23
对于这样的命令rm --cached
没有可配置的选项,最好的办法是只创建一个名称不同的别名.例如:
[alias]
rmc = rm --cached
Run Code Online (Sandbox Code Playgroud)
您可能已经想到了这一点,但Git别名不能影响现有的Git命令.从git-config
手册页:
为避免使用脚本时出现混淆和麻烦,将忽略隐藏现有git命令的别名.
Ste*_*ett 23
作为解决方法,您可以在Bash中定义别名以获得所需的结果.这是我刚刚为我的宠儿感到厌烦的事情 - 默认情况下,'git add'并不详细.(而且没有配置设置).
把它放在你的~/.bash_profile
或~/.bash_rc
function do_git {
cmd=$1
shift
extra=""
if [ "$cmd" == "add" ]; then
extra="-v"
elif [ "$cmd" == "rm" ]; then
extra="--cached"
fi
git="$(which git)"
ex="$git $cmd $extra $@"
${ex}
}
alias git='do_git'
Run Code Online (Sandbox Code Playgroud)
然后就像正常一样调用它:
$ git add .
add 'foo'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3743 次 |
最近记录: |