在另一个git命令中使用git命令

时间:2017-07-12 20:40:10

标签: git git-alias

所以我尝试将更改从本地分支推送到具有相同名称的远程分支。我试图做这样的事情。

git push origin "git rev-parse --abbrev-ref HEAD"

引号内的命令返回当前签出分支的名称。 我不确定这是否可行。

基本上,我正在构建一个可以添加,提交和推送给我的别名,它看起来像这样:

git config --global alias.fire '!f() {
   git add -A && git commit -m "$1" && git push origin "git rev-parse --abbrev-ref HEAD"; 
}; f'

现在,我只是试图获取当前签出分支的名称并在另一个命令中使用它。有人有任何建议或不同的方法吗?感谢

编辑:我正在使用Windows

1 个答案:

答案 0 :(得分:2)

正如评论者所说,如果你安装了Git,你可以在Windows中使用bash,所以试试这个命令。

git push origin $(git rev-parse --abbrev-ref HEAD | tail -n 1)

git rev-parse --abbrev-ref HEAD的输出

--abrev-ref
4de0cb2e9a86c02ff853630efbae0d2ae777ff47

我将它汇总到tail -n 1这是一个打印最后一行输入的命令。将所有内容放在$( ... )中会获取命令的输出并用作参数。