因此,我尝试将更改从本地分支推送到具有相同名称的远程分支。我正在尝试做这样的事情。
git push origin "git rev-parse --abbrev-ref HEAD"
Run Code Online (Sandbox Code Playgroud)
引号内的命令返回当前签出分支的名称。我不确定这是否可能。
本质上,我正在构建一个可以为我添加、提交和推送的别名,它看起来像这样:
git config --global alias.fire '!f() {
git add -A && git commit -m "$1" && git push origin "git rev-parse --abbrev-ref HEAD";
}; f'
Run Code Online (Sandbox Code Playgroud)
现在,我只是试图获取当前签出的分支的名称并在另一个命令中使用它。有人有任何建议或不同的方法吗?谢谢
编辑:我正在使用Windows
正如评论者所说,如果安装了 Git,则可以在 Windows 中使用 bash,因此请尝试该命令。
git push origin $(git rev-parse --abbrev-ref HEAD | tail -n 1)
Run Code Online (Sandbox Code Playgroud)
的输出git rev-parse --abbrev-ref HEAD是
--abrev-ref
4de0cb2e9a86c02ff853630efbae0d2ae777ff47
Run Code Online (Sandbox Code Playgroud)
我正在通过管道将其输入tail -n 1到打印最后一行输入的命令中。将所有内容放入其中$( ... )会获取命令的输出并用作参数。