我有一个带有两个遥控器的本地git存储库('origin'用于内部开发,'other'用于外部承包商使用)。我本地存储库中的主分支跟踪'origin'中的master,这是正确的。我还有一个“外部”分支,跟踪“其他”中的主人。我现在遇到的问题是我的主人也想要在'其他'中推送给主人,这是一个问题。有没有办法可以指定本地主人不应该推送到其他/主人?
我已经尝试更新我的.git / config文件以包含:
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "external"]
remote = other
merge = refs/heads/master
[push]
default = upstream
但是remote show
仍然表明我的主人正在推动这两个遥控器:
toko:engine cmlacy$ git remote show origin
Password:
* remote origin
Fetch URL: <REPO LOCATION>
Push URL: <REPO LOCATION>
HEAD branch: master
Remote branches:
master tracked
refresh-hook tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)
这些都是正确的。
toko:engine cmlacy$ git remote show other
Password:
* remote other
Fetch URL: <REPO LOCATION>
Push URL: <REPO LOCATION>
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
external merges with remote master
Local ref configured for 'git push':
master pushes to master (local out of date)
最后一节是问题所在。 'external'应该与其他/ master合并,但是master永远不应该推送到其他/ master。它永远不会工作。
答案 0 :(得分:1)
在.git/config
部分push = external:master
下添加参数[remote "other"]
。
答案 1 :(得分:0)
是的,您可以指定推送的位置,例如:
git push <remote> <local branch name>:<remote branch name>
做git help push
会给你答案btw。
编辑:要自动执行此操作,您可能需要设置跟踪,请查看:http://mislav.uniqpath.com/2010/07/git-tips/并将push.default
设置为tracking
(您可能需要查看{{3}还有)
我希望能解决它:)