我有我的管理系统的SVN工作拷贝我的本地机器上。
工作副本从我们的生产服务器中检出。因此,我或我的团队成员提交的任何提交都会转到生产服务器回购站。
我想要做的是在开发服务器上用生产服务器代码创建一个回购。这样我和我的队友就可以把所有东西都交给开发箱。当我们对代码感到满意时,我想将本地存储库切换到提交给生产服务器的地方
这样的事情是可能的。如果是这样......怎么样?
我有我的管理系统的SVN工作拷贝我的本地机器上。
工作副本从我们的生产服务器中检出。因此,我或我的团队成员提交的任何提交都会转到生产服务器回购站。
我想要做的是在开发服务器上用生产服务器代码创建一个回购。这样我和我的队友就可以把所有东西都交给开发箱。当我们对代码感到满意时,我想将本地存储库切换到提交给生产服务器的地方
这样的事情是可能的。如果是这样......怎么样?
当使用单台服务器上的树枝更容易管理的方式,您可以有两个仓库,并将它们之间,如要求
svnadmin dump PROD-PATH > DUMPFILE
)svnadmin create DEVEL-PATH
切换)svnadmin load DEVEL-PATH --force-uuid < DUMPFILE
)。 --force-uuid
是强制性为了具有在两个回购(因此允许移居存储库之间的单WC),“svnadmin的制造”相同的UUID分配唯一的UUID来DEVEL为了回返回代码PROD
这是一个非常棒的方式,但它似乎将代码发送到生产服务器需要很多开销...... – Ryan
@Ryan - 是的,分支机构是这种情况下的自然方式(tm) –
为什么生产有版本控制系统,但不是开发者?
版本控制是针对开发者的。你应该能够检出,更新,修改代码,添加功能,犯错误,做愚蠢的东西等。这是版本控制的目的!
生产,如果他们从Subversion版本库获得代码,应该检查标签的代码。标签就是你想让世界看到的东西。通过仔细和严格的测试,你希望已经清除了你的错误,错误和其他笨拙。
将您的Subversion存储库从Production移到您的开发环境中。也就是说,除非你的意思是支持和维护产品 - 不是说生产环境中的人(如客户)实际上使用Subversion。在这种情况下,让存储库保留在Production中,但开发人员不应该害怕使用它。
一些网站使用中继严格为释放代码。这不是一个好主意。发布代码应该放入标签目录中。主干和分支是为程序员做的编程。
为什么不能使用相同的回购和出口到不同的文件夹(我的意思是生产,测试或开发)? –
我不太清楚你的意思? – Ryan
为什么你有两个不同的回购发展和生产的任何特定原因?为什么不有一个回购,并采用[分支策略](http://stackoverflow.com/questions/597707/best-branching-strategy-when-doing-continuous-integration),以便系统的生产版本在一个特殊的分支?就个人而言,我更喜欢功能分支,其中“'trunk'为王”,并且是从哪个分支发布到生产 –