我遵循传统的提交标准,我想制作一个 shell 函数来执行压缩,并使用解析的消息合并和提交更改,从而提高我的编码速度和我的提交一致性。
我的问题是解析参数,然后在提交消息中使用结果。
我的实际代码:
function git_merge_squash() { git merge --squash "$1" shift msg= echo $'\n'"$*" | tr . \\n | tr - ' ' # echo $msg git commit -m $msg } alias gmrs=git_merge_squash
使用示例:
$ gmrs f/my_branch Features.- Signup.-- Save hashed password asynchronously.-- Retrieve token.- Login.-- Retrieve token.- Logout.-- Destroy token
预期结果:
git merge --squash f/my_branch git commit -m " Features Signup Save hashed password asynchronously Retrieve token Login Retrieve token Logout Destroy token"
您可以猜到,在我的实际代码中,我的注释echo
准确地打印了我想要的消息。但是git commit -m
命令$msg
作为一个字符串。我尝试了多种其他选项,例如使用标志模拟文件输入-F
,但我无法解决。
我怎样才能实现我的目标?先感谢您。