2

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

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'

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

编辑:我正在使用窗户

4

1 回答 1

3

正如评论者所说,如果您安装了 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其中,这是一个打印最后一行输入的命令。将所有内容放入$( ... )其中会获取命令的输出并用作参数。

于 2017-07-12T20:44:02.797 回答