当我使用git commit
时,我有点厌倦了使用双引号git commit -a -m "fix xxx error"
当我设置这样的别名时:
coam = "!f() { git commit -a -m $1; }; f"
键入
时有效git coam fix
它提交为
git commit -a -m "fix"
但是如何设置一个可以处理的命令
git commit -a -m "fix xxx error"
当我输入
时git coam fix xxx error
我测试
coam = "!f() { git commit -a -m $*; }; f"
但它不起作用!
谢谢!
答案 0 :(得分:9)
“我有点厌倦了使用双引号”,< - 但你没有选择。
这就是shell的工作方式:它有一些机制可以使它如果一个参数包含通常是输入字段分隔符的字符(提示:这就是为什么IFS
环境变量被命名的原因) ,它仍然被执行的命令作为参数。
git commit
的{{1}}选项只需一个参数。这些双引号是必要的。
你可以转过来的唯一方法是拥有自己的小shell脚本,它会为你收集这些参数:
-m
如果上面的脚本被称为#!/bin/bash
exec git commit -a -m "$*"
并且在您的路径中,您可以执行以下操作:
mygitcm
引用您的示例,我想这可行:
mygitcm my commit message here
(当然,另一个好主意是制作解释性提交信息;)
答案 1 :(得分:1)
function gc { git commit -a -m "$*"; }