我想改进我当前的别名,他们中的大多数都在一个分支上工作。有没有办法在 git 别名中引用当前分支,所以我不需要每次都传递它?
像这个:
git config alias.po "push origin"
是这样使用它:
git po foo_branch
我只想运行git po
它以将当前分支作为参数。
我想改进我当前的别名,他们中的大多数都在一个分支上工作。有没有办法在 git 别名中引用当前分支,所以我不需要每次都传递它?
像这个:
git config alias.po "push origin"
是这样使用它:
git po foo_branch
我只想运行git po
它以将当前分支作为参数。
[alias]
po = "!git push --set-upstream origin \"$(git rev-parse --abbrev-ref HEAD)\""
git symbolic-ref --short HEAD
打印当前分支,因此您可以定义一个简单的 shell 别名:
alias gpo='git push origin "$(git symbolic-ref --short HEAD)"'
此答案将从 Git 2.0 开始有效,默认推送行为将是simple
除非push.default
设置设置为matching
,否则git push
不指定参数将始终推送当前分支,因此在这种情况下您不需要指定它。
您的问题不是 100% 清楚您需要这两个别名中的哪一个。
这将推送当前签出的分支:
git config alias.po !f() { export tmp_branch=`git branch | grep '* ' | tr -d '* '` && git push origin $tmp_branch; unset $tmp_branch; }; f
这将推送给定的分支名称 ( git po branchName
):
git config alias.po !f() { git push origin $1; }; f