我想在切换分支后重新启动我的虚拟服务器,并尝试在我的.gitconfig
中添加一些别名但是没有让它工作。
co = checkout | !rap
只运行rap,重启脚本。
co = checkout && !rap
和我尝试过的其他一些事情(比如checkout $1
)给出了我的“git usage:bla bla”。
答案 0 :(得分:6)
注意, 问题 的正确解决方案可能只是使用post-checkout
hook,如hacker's answer
下面是 问题 的可行解决方案。
您可以在别名中使用单个git命令,例如,例如
[alias]
alias = config --get-regexp ^alias\\.
或者你使用'!'的任何命令前缀,也许使用“sh -c
”技巧;然后你必须拼写“git command”,例如
[alias]
sed = !git ls-files --stage | grep ^100 | awk '{print $4}' | xargs sed
who = "!sh -c 'git log -1 --pretty=\"format:%an <%ae>\" --author=\"$1\"' -"
(不是alias.sed
是最佳解决方案)。
如果您希望“git br <somebranch>
”执行“git checkout <somebranch>
”,然后执行“rap
”,请尝试
[alias]
br = !sh -c 'git checkout "$0" && rap'
这里&&
表示:如果前一个命令成功,请执行下一个命令。无论先前命令的状态如何,都可以使用;
来运行命令
顺便说一句,你不是切换分支使用“git checkout <branch>
”吗? “git branch <branchname>
”创建分支,而不检查它。
答案 1 :(得分:3)
我认为,你真正想要的是post-checkout
钩子(查看你的.git/hooks/
目录和githooks manpage)。