我想在切换分支后重新启动我的虚拟服务器,并尝试在我的程序中添加一些别名,.gitconfig
但没有让它工作.
co = checkout | !rap
Run Code Online (Sandbox Code Playgroud)
只运行说唱,重启脚本.
co = checkout && !rap
Run Code Online (Sandbox Code Playgroud)
和我尝试的其他一些事情(比如checkout $1
)给出了我的"git用法:bla bla".
请注意,正确解决问题的方法可能就是使用post-checkout
hook,就像黑客的回答一样.
下面有你的问题的可行解决方案.
您可以在别名中使用单个git命令,例如
[alias]
alias = config --get-regexp ^alias\\.
Run Code Online (Sandbox Code Playgroud)
或者你使用'!'的任何命令 前缀,也许使用" 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\"' -"
Run Code Online (Sandbox Code Playgroud)
(这不是alias.sed
最好的解决方案).
如果你想要" git br <somebranch>
"做" git checkout <somebranch>
",那么" rap
",试试吧
[alias]
br = !sh -c 'git checkout "$0" && rap'
Run Code Online (Sandbox Code Playgroud)
这&&
意味着:如果前一个命令成功,请执行下一个命令.;
无论先前命令的状态如何,您都可以使用命令来运行命令
BTW你不用" "来切换分支git checkout <branch>
吗?" git branch <branchname>
" 创建分支,而不检查它.