SVN 是否可以为两个 SVN 存储库保留相同的本地副本?
我需要使用 SVN 的一些功能,例如分支、历史记录、恢复、修订我的本地代码副本,但我只想在完成本地开发后的某个时间提交到服务器存储库。有可能吗? 谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我需要使用 SVN 的一些功能,例如分支、历史记录、恢复、修订我的本地代码副本,但我只想在完成本地开发后的某个时间提交到服务器存储库。有可能吗? 谢谢。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
这就是 Subversion 的模型:您在本地进行一些开发,测试一切是否正常,如果准备就绪,则在存储库中一次提交多个更改。
如果修改很重要并且需要很长时间,那么您应该将其分成几个简短的修改,并尽快提交这些简短的修改。如果您不希望主干上的其他开发人员在一切完成之前看到这些修改,则创建一个功能分支,定期在此功能分支中提交,然后将功能分支重新集成到主干中。
SVN 对此进行了很好的描述书。
That's the model of Subversion: you make some development locally, test that everything is OK, and if ready, commit multiple changes at once in the repository.
If the modification is important and takes a long time, then you should split it in several short modifications, and commit those short modifications as soon as possible. If you don't want other developers on the trunk to see these modifications until everything is done, then create a feature branch, commit regularly in this feature branch, and then reintegrate the feature branch into the trunk.
This is well described in the SVN book.
您可能需要查看分支和合并的章节SVN 书,因为你想做的事情听起来像是一个“功能分支”。简而言之,svn 无法只在本地签入;但是,您可以在本地计算机上拥有同一存储库的任意数量的工作副本;如果您在服务器上创建自己的分支,则主干将保持不变,直到您将分支合并到它。
然而,如果你经常做这样的事情,并且真的不想涉及服务器(或者不能因为你不维护或无法访问它),我还建议使用 git 作为另一个答案建议。
You might want to check out the chapter on Branching and Merging in the SVN book, since what you want to do sounds like a "feature branch". In short, only checking in locally is not possible with svn; you can, however, have an arbitrary number of working copies of the same repository on your local machine; and if you create your own branch on the server, the trunk will be unchanged until you merge your branch to it.
However, if you do stuff like this regularly, and really don't want to involve the server (or can't because you don't maintain or have access to it), I'd also recommend using git as another answer here already suggests.
您正在尝试在 svn 中实现 git 工作流程。这是不可能的,但是如果您有能力选择 VCS 软件,您可以尝试 git。
You're trying to implement the git workflow in svn. This is not possible, however if you have the ability to choose your VCS software you can try out git.