我在一些不同的Subversion存储库中有很多预先存在的项目和代码。 我计划通过将一些更简单/即将成为多开发人员项目迁移到Git来让我的脚趾湿透Git。 我有几个问题:
如果我从托管Git开始 解决方案,难以改变 项目的Git服务器(In 颠覆,你只需要 更改URL等)?我会做 这个起床和运行 以前对Git很满意 在本地安装和维护我自己的服务器。
要遵循哪些好的步骤 从Subversion迁移我的数据 去Git?我必须退房吗? 来自SVN,导出和的每个修订 承诺Git获取历史?
您遇到的任何陷阱?
改变的几个原因:我们做了大量的分支和合并,我们将在这些项目上添加一些开发人员,我们将让开发人员不总是在办公室/网络上等。
答案 0 :(得分:6)
1。实际上非常容易更改服务器,因为您在计算机上克隆整个存储库然后只需将其推送到新服务器;
2。您可以使用 git-svn 在新的git存储库中克隆svn存储库,保留历史记录。首先,您需要创建一个用户文件,将所有SVN用户映射到您的GIT用户。在桌面上创建名为“ users.txt ”的文件。使用以下格式映射用户:
username = Full Name <fullname@provider.com>
现在运行以下命令:
git-svn init url.to.svn.repository --no-metadata
git config svn.authorsfile ~/Desktop/users.txt
git-svn fetch
第一个命令将目录初始化为git-svn混合,并将原点指向svn存储库。标志--no-metadata告诉git将所有svn细节留在后面(而不是提交日志)。下一个命令告诉git将所有svn用户重新映射到git用户。最后一个命令实际上是提取。
答案 1 :(得分:2)
首先我会推荐书Pro Git
这一点都不难。你可以做点什么
git remote add
并且您可以同时拥有更多遥控器,并在合并它们并推送到服务器之前从同事获取更改到不同的分支。
我没有在svn中有更多分支的经验,但对我来说就足够了
git svn clone svn-repo
答案 2 :(得分:0)
1)这是微不足道的。 Git已经发布。
2)如果你谷歌有很多指南,但基本序列是git svn clone,然后将所有svn标签分支转换为真正的git标签,删除标签分支,然后添加一个git remote并推送。3)没什么大不了的。
我强烈建议您与主机一起使用GitHub。他们有私人回购,不贵,他们的网站很棒。