我想在切换分支后重新启动我的虚拟服务器,并尝试在我的 .gitconfig
中添加一些别名但没有让它工作。
co = checkout | !rap
只运行 rap,重启脚本。
co = checkout && !rap
还有我尝试过的其他一些东西(比如 checkout $1
)给出了我的“git usage: bla bla”。
最佳答案
请注意,您的问题 的正确解决方案可能只是使用 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>
”创建 分支,但未将其 checkout 。
关于git - 切换分支时调用外部命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1491556/