是否可以为git创建别名commit + checkout?

时间:2017-04-28 08:26:10

标签: git

我想为git创建一个别名,以便在一个命令中结帐前实现提交。有可能吗?

尝试了这个,但失败了:

git config alias.changebranch 'commit -a --allow-empty-message -m "" checkout'

此命令的响应:

$ git changebranch hello
fatal : paths with -a does not make sense

2 个答案:

答案 0 :(得分:3)

这不是执行两个命令的别名,它只是执行一个命令的别名,“checkout”是该命令的最后一个参数。

你想要这样的东西:

Method

git config alias.changebranch '!git commit -a --allow-empty-message -m "" && git checkout' 表示别名由shell运行,不仅仅被视为git命令,只有在提交成功时才会运行checkout。

答案 1 :(得分:-1)

基本上你只需要在〜/ .gitconfig

中添加一行
[alias]
    st = status
    ci = commit -v

或者您可以使用git config alias命令:

$ git config --global alias.st status 

在unix上,如果别名有空格,请使用单引号:

$ git config --global alias.ci 'commit -v'

在Windows上,如果别名有空格或命令行参数,请使用双引号:

c:\dev> git config --global alias.ci "commit -v"

alias命令甚至接受函数作为参数。看看别名 - > https://git.wiki.kernel.org/index.php/Aliases#Aliases