有没有办法在执行git push时自动指定--set-upstream?

时间:2015-08-10 15:54:29

标签: git

每次创建分支并推送它时,都会发生这种情况:

$ git push 致命的:当前的分支foo没有上游分支。 要推送当前分支并将远程设置为上游,请使用

git push --set-upstream origin foo

$ git push --set-upstream origin foo

鉴于我在分支foo,整个' - set-upstream origin foo'感觉就像是多余的打字(或者更确切地说,是复制粘贴)。

我有没有办法设置配置选项,以便' git push'在没有上游的分支上自动设置上游分支名称以匹配本地分支机构名称?

2 个答案:

答案 0 :(得分:0)

gitconfig中的以下别名可以使用。获得别名的艰苦工作归功于answerthis one,但他们从未在问题或答案中说出他们想要做的事情。

    publish = !git push -u origin `git symbolic-ref HEAD | sed -e "s#^refs/heads/##"`

    publish = !git push -u origin `git branch | grep \\* | cut -d ' ' -f2`

然后一个简单的git publish做你想要的。

答案 1 :(得分:0)

简单,创建跟踪分支

您应该使用完整的git push origin <remote_branch>表示法或设置跟踪分支。

git branch --track branch-name origin/branch-name
git branch --set-upstream-to <remote-branch> # for existing branches

现在你可以git push,它会起作用。