配置不同于本地名称的git推送目标分支名称



我正在使用Gerrit,当我推送提交时,我使用语法git push origin master:/refs/for/master

如果我的当前分支是master,我想将Git配置为自动将我当前的分支推送到refs/for/master。我的主张是能够继续使用git push推送到Gerrit审查服务器,而不是Git服务器。

我的配置文件

[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = git@GitServer:/myrepo
[branch "master"]
        remote = origin
        merge = refs/head/master
[url "ssh://user@GerritServer:29418/myrepo.git"]
  pushInsteadOf = git@GitServer:/myrepo

注意:git存储库不由Gerrit处理,这就是为什么我使用选项pushInsteadOf推送到Gerrit服务器。

首先为master:设置上游分支

git push -u origin master:refs/for/master

然后将默认推送策略设置为上行:

git config push.default upstream

有了这个设置,无论何时编写git push,git都会检查当前分支的上游分支并推送到它。这也意味着你必须为未来中要推送的所有分支指定上游分支

设置上游分支不影响拉动。事实上,这就是它被称为上游的原因,在过去,它曾经被称为跟踪,就像拉货一样,它引起了很多混乱。继续阅读相关提交消息

Git推送的重复ish:为分支设置目标

最新更新