不同 VCS 之间的差异和合并

Diff & Merging between different VCS

我正在将一个旧的 SVN 存储库转移到 Git。 SVN-repo 中的大部分文件夹已成功转移到新的 git 存储库中。

我的团队仍在构建 SVN 存储库,而我也在处理 GIT 存储库。因为新存储库 (git) 上的结构完全不同(新文件夹等),所以很难通过 Tower(mac 应用程序)进行合并。

有什么方法可以使用 GIT 来合并文件夹吗?

示例目录结构;

示例脚本;

$ diff_merge.sh folder1/ folder2/

我一直在寻找类似的东西,但找不到相对简单的解决方案。

具有讽刺意味的是,有一个独立于平台的免费工具,其名称与您设想的 shell 脚本完全一样 - DiffMerge - 可以做到这一点。它没有链接到任何版本控制系统,因此您可以根据需要比较和合并整个文件夹树。我经常将它用于此类任务。搞定here

文件夹 diff UI(在 Windows 上)的屏幕截图:

文件差异的屏幕截图 UI(在 Mac 上):

文件合并的屏幕截图 UI(在 Linux 上):