我已经查看了在Google代码上托管的项目的副本。我将对其进行更改,并且我希望将这些版本控制保存在本地计算机上的存储库中。
我想尽可能使用svn,因为我已经了解了创建存储库,签出和提交的基础知识。
我可以使用svn执行此操作,还是应该查看已分发的版本控制?我使用的是Linux,而不是Windows。
答案 0 :(得分:6)
我非常高兴使用svn对抗远程存储库+使用mercurial或git作为svn repo顶部的本地存储库。
它们都是分布式的源代码控制工具,我喜欢它们的原因略有不同。
我发现使用我自己的本地仓库与远程subversion存储库一致非常强大......
<强>更新强>
虽然我非常喜欢从谷歌代码导出并导入到本地仓库的答案,但我真正喜欢svn和git / mercurial的组合是你可以定期进行svn更新以获取最新代码谷歌,然后到git提交或hg提交将最新的代码添加到您的本地仓库。
比定期对您的仓库进行svn导出以获取更新要简单得多。
此外,使用git / mercurial,您可以使用强大的分支/修补工具,svn不会那么容易。
答案 1 :(得分:3)
YES!请使用版本控制工具。 SVN使用起来非常简单,所以我建议。
可能有用的一件事是你可以使用Eclipse + PyDev(对于python)+ Subeclipse(对于你的SVN)。这应该是一个很好的平台独立堆栈,它会赢得一个支持gui的SVN客户端。请务必查看大多数Eclipse软件包附带的插件Mylyn - 它确实非常棒。
Windows用户的替代方案是TortoiseSVN - 按照他们的教程创建存储库。
单个用户最简单的方法是使用“文件”协议。设置一个合适的SVN服务器稍微困难一些,你可能想要推迟,直到你更好地理解SVN - 它允许你在多台机器上工作。
答案 2 :(得分:2)
SVN是一个非常好的版本控制系统。它被用于许多重要的项目中,并且易于使用,同时具有强大的选项。
如果您的本地副本指向Google代码。您可以执行导出,它基本上取出版本控制信息,然后将其导入本地SVN。
这个测量你将失去所有以前的历史,并将从头开始,并从那时开始有关你在本地做出的改变并提交给你的SVN的历史。
如果您需要在本地SVN中保留Google代码中所有提交的历史记录,请告知我们,因为可以这样做。
如果您还需要在某些时候将本地代码提交回Google代码,请告诉我们,以解释如何执行此操作。
希望这有帮助。
答案 3 :(得分:1)
svn commit
会将您的更改提交到(远程)存储库。如果你想在推送到远程存储库之前在本地办理登机手续(如果有的话),那么就像git或mercurial这样的分布式工具就是你想要的。
答案 4 :(得分:1)
是
您可以使用
创建本地存储库svnadmin create repositoryName
然后你可以使用常规的svn命令进行第一次结账。
svn checkout file:///path/to/your/repositoryName
只需确保您实际导出的是您通过Google代码而不是svn结帐获得的项目。否则,您将遇到已存在于另一个存储库的.svn文件的问题。获取从导出中获取的所有文件,并将它们移动到新创建的本地副本,将所有文件添加到svn并提交。
如果您想要移植更改,只需
svn update
包含Google代码存储库的签出版本的目录,覆盖您已更改的所有文件(或使用差异进行更改),然后提交回存储库。
答案 5 :(得分:1)
svnadmin create project-local-repo
svn checkout file:///path/to/project-local-repo project-branch
svn export http://PROJECT.googlecode.com/svn/trunk/ project-branch
这将(应该)在您的机器上的project-local-repo中为您的分支创建一个新的存储库,并从该存储库签出到project-branch文件夹中。然后,它会将主存储库中文件的干净副本导出到项目分支文件夹中。然后你只需要将这些文件添加到(本地)repo并提交,你应该好好去。尽管如此,这完全是未经测试和假设的。