2013-01-07 49 views
2

假设我有两个本地分支:master & dev。我想强制所有推到master分支到一个叫做master的repo上,并且所有的都会将dev推到另一个叫做dev的。强制git将不同的分支推送到不同的回购站

为什么?因为我想维护两个持续集成环境,每个回购一个。

什么我真的想要做的是确保主回购拒绝所有分支以外的主反之亦然。根本的是,我不会无意中将错误的分支推向错误的回购。

任何想法?

回答

1

使用

​​

定义默认上游位置。

这不会完全保护你,但如果你使用“推”没有参数它应该去右边的远程分支。

避免用“+”或--force推送也可以。如果服务器使用类似gitolite的东西,请不要向您的用户授予“+”特权。这会否定非快速推进。

+0

非常有趣,tks。真正酷的是找到一种方法来让远端拒绝除配置的分支之外的任何分支。这样用户就会意识到错误并将其推向正确的分支。 –

+0

据我所知git没有发送任何关于本地分支名称的信息在正常推送服务器上。服务器没有机会做出决定。在git邮件列表中,有一个针对预先推送钩子的补丁建议,可以解决客户端的问题,但是我不知道这是否将包含在git中。 – murraybo

+0

感谢murraybo,这非常有用 –

相关问题