如何设置一个Git分支推送到远程使用不同的分支名称,并从完全不同的网址拉(How to set a

2019-08-01 14:55发布

我的本地git仓库需要从一个服务器拉。 然后,它需要在不同的服务器上的特定分支推到审查回购有不同的分支名称。

喜欢的东西:拉Server1上的一切,从PullOnlyRepo(我们也许称之为原点?)推分公司修补程序来ReivewRepo与Server2上的分支名称JistChanges。

眼下混帐配置-l显示:

remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=<URL for Server1>
remote.origin.pushurl=no_push (this shouldn't matter since it is a pull only repo)
branch.production.remote=origin
branch.production.merge=refs/heads/production
remote.review.url=<URL for Server2>
remote.review.fetch=+refs/heads/*:refs/remotes/review/*

混帐拉我想要做什么(取从Server1上的正确位置变化并将它们合并到我的工作树)。

但是混帐推不。 为了达到我想要什么,我必须做的

git push review hotfix:JistChanges

有一些办法让git的拉做到这一点,而无需付出额外的东西?

有一些问题在那里已经是设置让你的本地分支推到远程使用不同的分支名称。 不过,他们也改变了上游和地方拉来的。

Answer 1:

你可以设置上游分支hotfix

git config push.default upstream
git config push.default review 
git branch --set-upstream hotfix review/JistChanges

请参阅“ 如何使现有的Git分支追踪远程分支? ”见“ 是什么的结果git push origin ? ”上的默认push策略(即将“ simple ”)

开始git1.8.0:

git branch -u review/JistChanges hotfix

该OP jistanidiot 报告已实现相同的结果有:

git remote set-url --push origin
git config remote.origin.push refs/heads/hotfix:JistChanges


Answer 2:

好吧VonC的回答让我在正确的轨道上。 这是我做的:

git remote set-url --push origin <review repo URL>
git config remote.origin.push refs/heads/hotfix:JistChanges

与此唯一的问题是,现在一切都推到审查回购。 这是确定的,因为现在90%的工作将在该分支。 其他10%我可以做其他的一个混帐推而其他相同的起源与回购正确推配置。



文章来源: How to set a git branch to push to a remote with a different branch name and pull from completely different url