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

标签 git git-alias

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

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

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

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

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

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

编辑:我正在使用 Windows

最佳答案

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

关于git - 在另一个 git 命令中使用 git 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45067120/

相关文章:

git - 使用子模块镜像 git 存储库

git - 为什么我不能在 Git 中克隆任何存储库?

混帐配置 : bad config for shell command

git - 由于解析器错误,将更复杂的脚本添加为 Git 别名不起作用

Git 使用 HTTPS 访问私有(private)仓库

git - 丢弃之前的提交,强制推送到远程

git - 我应该使用 `sh -c\"...\"` 还是 `"!f() {... ; }; f"在 git 别名脚本中?

windows - 设置 jenkins git 返回 "Host key verification failed"错误

git-config - 是否可以在 .gitconfig 中编写多行别名?