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