配置 git 推送目标分支名称与本地名称不同
Configure git push destination branch name different from the local name
我正在使用 Gerrit,当我推送提交时,我使用语法 git push origin master:/refs/for/master
我想配置 Git 如果我当前的分支是 master
,则自动将我当前的分支推送到 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
注意: Gerrit 不处理 git 存储库,这就是我使用选项 pushInsteadOf
推送到 Gerrit 服务器的原因。
首先为master
设置上游分支:
git push -u origin master:refs/for/master
然后设置默认推送策略为上游:
git config push.default upstream
使用此设置,每当您编写 git push
时,git 将检查当前分支的上游分支是什么并推送到它。这也意味着您必须为将来要推送的所有分支指定上游分支
设置上游分支不影响拉取。实际上,这就是它被称为上游的原因,在过去它曾经被称为跟踪,就像在拉动中一样,这引起了很多混乱。 Read on in the related commit message
Git push: set target for branch
的重复
我正在使用 Gerrit,当我推送提交时,我使用语法 git push origin master:/refs/for/master
我想配置 Git 如果我当前的分支是 master
,则自动将我当前的分支推送到 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
注意: Gerrit 不处理 git 存储库,这就是我使用选项 pushInsteadOf
推送到 Gerrit 服务器的原因。
首先为master
设置上游分支:
git push -u origin master:refs/for/master
然后设置默认推送策略为上游:
git config push.default upstream
使用此设置,每当您编写 git push
时,git 将检查当前分支的上游分支是什么并推送到它。这也意味着您必须为将来要推送的所有分支指定上游分支
设置上游分支不影响拉取。实际上,这就是它被称为上游的原因,在过去它曾经被称为跟踪,就像在拉动中一样,这引起了很多混乱。 Read on in the related commit message
Git push: set target for branch
的重复