多年来我没有和SVN合作过。现在我必须。使用SVN,您是否获得了一份“本地”副本,然后当您将事情做好时将其推送给团队的其他成员?或者承诺你拥有的一切?这意味着你在某些事情上工作并冒着失去它的风险,直到它正确并准备好被提交?
我讨厌SVN而且我记得一直都在讨厌SVN。
我必须使用SVN是否有某种方法可以让它变得更好?我可以在同一个回购中同时使用Mercurial或GIT吗?
答案 0 :(得分:3)
我可以在同一个回购中同时使用GIT吗?
是的,你可以。 Git提供了一种与SVN存储库交互的方法 - 请参阅git svn
命令。
简而言之:
git svn clone <url>
克隆了一个subversion存储库
git svn fetch
获取最新更改
git svn dcommit
将您的更改推送到subversion存储库。
git book有一个关于这个主题的章节:http://git-scm.com/book/ch8-1.html#Getting-Started
答案 1 :(得分:1)
我的答案可能类似于gbjbaanb的答案,但我会强调分支。
如果你想为整个团队提供立即可用的东西 - 提交到主干。
如果要在多次提交中执行任务并且不想发布中间/不稳定状态,请创建一个分支,在那里进行提交然后将其合并到主干。制作分支机构很便宜,并且在SVN中合并并不像人们通常所说的那样困难;)
答案 2 :(得分:0)
承诺就是你所拥有的一切。它还不错,我从来没有看到过本地提交的重点 - 它们只是为了方便你,以防你想要恢复你正在进行的一些工作。我的工作流程往往是:编写一小段代码,确保它有效,提交它并转移到另一块。所有这一切都在分支上,所以它不会影响除了我的队友之外的任何人(无论如何他们都会想要我的改变,假设他们有效)。
致力于中央回购确实具有您的工作安全的优势。在对该平面上的所有工作进行编码后,无需担心笔记本电脑被盗:)
有人谈论为SVN引入搁置,可能是为了下一个版本,这将解决你需要提交而不提交。