问题标签 [version-control-migration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1181 浏览

git - 将具有公共主干的大型 SVN 存储库迁移到 Git

我需要将一个非常巨大的带有提交历史的 SVN 主干迁移到 Git 。SVN 存储库具有以下结构:

我只对将主干中的每个项目移动到相应的 Git 存储库感兴趣——并不真正关心标签和分支。如果我错了,请纠正我,但我相信 Git 不适用于非常大的存储库。

过去也有人问过类似的问题,但它们已经很老了,只是想知道是否有人对解决这个问题有新的看法。我尝试了一些工具,例如 SubGit,但他们假设每个项目都在它自己的文件夹中,并且有一个主干、分支和标签层次结构。当我尝试明确指定主干文件夹并将标签和分支指向一个空文件夹时,SubGit 会在一段时间后停止响应。

0 投票
1 回答
493 浏览

git - Git 日志不显示从远程 svn repo 获取的最新提交

我已经使用“git svn clone ...”将svn中项目的主干目录迁移到git。在 svn 中进行了几次提交后,我执行“git svn fetch”。这会在 svn 中获取新的提交,并为每个提交生成校验和。现在,如果我“git log”,我刚刚获取的提交不会显示。但是,如果我“git show checksum ”会显示提交。更改可能在某个远程跟踪分支中。我如何将它们合并到master?

0 投票
7 回答
1922 浏览

php - 如何在不迁移特定框架的情况下进行数据库版本控制?

我知道迁移是对数据库模式进行版本控制的一种方法。但是,由于我有一个由多个项目共享的数据库,并且每个项目都可能会稍微更改架构。所以,对于代码,我需要像 git 这样的分支和合并功能,而迁移不能提供这样的功能。那么,有没有专门针对数据库的版本控制工具呢?

我们将 php 与 laravel 和 mysql 用于数据库,如果需要,我们愿意切换到 postgresql。

0 投票
2 回答
854 浏览

git - 将 SVN 迁移到具有过滤历史记录的 Git

我想将项目从 SVN 迁移到 Git 并保留历史记录。

但由于 SVN 存储库中有一些包含生产密码和其他敏感数据的配置文件,我想从迁移的历史记录中排除这几个文件。

我该怎么做呢?

0 投票
2 回答
102 浏览

git - 使用 reposurgeon 将 svn repo 转换为 Git 时如何跳过前 N 次提交?

使用 reposurgeon 将 subversion 存储库转换为 Git 时,如何跳过前两次提交?

第一次 svn 提交使用错误的分支布局 ( trunk, tags, branches) 导入代码,第二次提交将其全部删除。

第三次提交是对正确分支布局 ( subdir/trunk, subdir/tags, subdir/branches) 的导入。

这个错误的开始似乎让 reposurgeon 感到困惑,因为生成的 Git 存储库只有一个提交:最初的错误开始。以后的所有提交都将被忽略。

这是我尝试过的:

0 投票
2 回答
1510 浏览

git - 如何跟踪 Git 分支中的特定文件?

我有一个带有 5 个文件名的“主”分支


文件1.txt 文件 2.txt 文件3.txt 文件 4.txt 文件
5.txt

我将master分支到'edit_branch'。我做了这些改变

edit文件1.txt文件2.txt文件 3.txt 文件4.txt 文件
edit 5.txt文件
delete6.txt
delete
delete
add

当我将 'edit_branch' 合并到 master 时,我想要这些更改
file1.txt --> updated
file2.txt --> updated
file3.txt --> no change
file4.txt --> no change
file5.txt --> no change
file6.txt -->added

本质上,在新分支中添加或修改的文件应该合并回“主”分支。上述删除是必要的。

关于如何分支和设置回购的任何建议?

0 投票
1 回答
25 浏览

git - GIT SVN 存储库转换后分支可用两次

我正在使用以下教程将存储库从 SVN 移动到 git:https ://www.atlassian.com/git/tutorials/migrating-overview

一切都按计划进行——我可以看到所有分支和标签,以及完整的历史记录。此外,所有名称均已成功保留。

然而问题是,当我做一个

我看到所有分支两次,例如

我理解第一个分支(本地)以及第二个:我将存储库推送到 gitlab

但是第三个呢?前两个分支的颜色是红色,另一个是绿色。Gitlab 还会两次查看每个分支,并在项目概述中显示它们。

如果有人能向我解释发生了什么以及如何解决这个问题,我会很高兴。

0 投票
2 回答
252 浏览

git - 将 darcs 存储库转换为具有多个分支的 git

有没有办法将具有多个分支的 darcs 项目(即,两个以上包含不同但相关的补丁集的 darcs 存储库)转换为单个 git 存储库,以便将每个 darcs 存储库转移到 git 存储库中的不同分支?

考虑的解决方案:

(1) darcs convert 命令提供了两种将 darcs 导出到 git 的方法:

一个。一次性出口:

这只转换一个仓库,一个分支。

湾。使用标记文件增量导出(维护 darcs 存储库的 git 镜像):

使用 (b),如果我只有一个其他 darcs repo 作为分支,我可能希望继续

然后重复该darcs convert export步骤。

但是对于另外两个分支,这似乎不太可能奏效,因为拉动 ../repo-branch2 会将分支 1 和分支 2 的补丁合并在一起。

(2) Darcs-bridge [2]。不完整,自 2013 年以来未维护,并且“仍命名为 darcs-fast-convert”,仅推荐用于任一方向的一次性转换(darcs->git 或 git->darcs)

darcs-bridge 页面本身 [2] 建议使用 darcs 2.10 中内置的“darcs convert”命令。

但是,它可以处理分支(有一些工作):

请参阅 [2] 中的用例 2:

这将创建具有两个分支的 git 存储库: (darcs) myproject -> (git) master (darcs) myproject-branch1 -> (git) myproject-branch1 具有公共前缀,但未检测到合并。

[2] 中的用例 5 描述了一种更改 darcs-bridge 管理的分支列表的方法。

“有什么限制?” 和“什么需要工作?” 在 [2] 中似乎在说(我很难理解)darcs 合并没有正确转换,除非使用特殊标记——标记必须在合并之前完成,所以现在我不可能这样做。

(3)darcs-fastconvert(darcs-bridge基于):根据[2],没有管理多个分支

(4) darcs-to-git:acc。到[2],不支持分支

(5)darcs2git:acc。到[2],不支持分支

(6) 裁缝:acc。到 [2],不支持分支,已停止支持 darcs-fastconvert

参考:

[1] Darcs-Convert:http ://darcs.net/Using/Convert )

[2] Darcs-Bridge: http://darcs.net/DarcsBridgeUsage )

0 投票
1 回答
1231 浏览

git - 使用 Git-LFS 进行 SVN 到 Git 迁移

我们有一个巨大的 SVN 存储库(~100GB),我们正在尝试迁移到 Git。问题是,repo 包含大量分布在文件夹树中的二进制文件。

我们想到的第一件事是将二进制文件移动到 Git-LFS,但在此之前我们需要解决一些问题:

  1. 我们需要保留提交历史。是否可以在以前的提交中用 LFS 文件指针替换二进制文件?
  2. 我们正在使用几个分支。在结帐期间,git-lfs 是否缓存现有的二进制文件,因此分支之间的结帐不会涉及一次又一次地重新下载这些二进制文件。
  3. Git-LFS 是否支持跨不同分支拥有一个二进制文件,或者我们应该为服务器上的每个分支复制每个二进制文件?
  4. 是否可以在结帐过程中对二进制文件进行部分签出?因此,如果需要,只会下载二进制文件的某些部分。
  5. 在服务器上,这个二进制文件应该如何存储?是否需要一个服务器应用程序来存储这些二进制文件,或者简单的 HTTP/FTP 服务器就可以了?

谢谢

0 投票
1 回答
2105 浏览

git - 如何使用主干历史将 svn 分支导入 git

这是svntrunk路径:

这是branch路径:

我只需要将分支迁移到 git,但在创建分支之前我还需要其主干历史记录。

以下命令仅获取分支历史记录:

我已阅读此答案,但无法弄清楚我应该如何更改git svn clone命令以获得分支的完整历史记录。任何意见,将不胜感激。