git svn合并2个svn分支
我正在使用svn。我有两个分支,对它们都进行了很多更改。 除了其中一个分支,许多文件被重命名,因此现在svn无法帮助我合并这些文件中的更改(众所周知svn的限制)git svn合并2个svn分支,svn,git,merge,git-svn,Svn,Git,Merge,Git Svn,我正在使用svn。我有两个分支,对它们都进行了很多更改。 除了其中一个分支,许多文件被重命名,因此现在svn无法帮助我合并这些文件中的更改(众所周知svn的限制) 是否可以使用git svn执行分支的合并 git svn也会处理重命名的文件吗 谢谢应该能够检测(到某一点)重命名 recursive 这只能使用三路合并算法解析两个磁头。 此外,这还可以检测和处理涉及重命名的合并。 这是拉取或合并一个分支时的默认合并策略 但只能从SVN导入/导出,不能进行合并。 合并很棘手: 注意事项 为了简化操作
recursive
这只能使用三路合并算法解析两个磁头。此外,这还可以检测和处理涉及重命名的合并。
这是拉取或合并一个分支时的默认合并策略 但只能从SVN导入/导出,不能进行合并。
合并很棘手: 注意事项 为了简化操作并与功能较差的系统(SVN)进行互操作,建议所有
git SVN
用户直接从SVN服务器克隆、获取和提交数据,并避免git存储库和分支之间的所有git克隆/拉/合并/推操作。建议在git分支和用户之间交换代码的方法是git格式补丁和git am,或者只是“向SVN存储库提交数据” 建议不要在计划从中进行数据提交的分支上运行git merge或git pull。Subversion不代表以任何合理或有用的方式进行合并;因此,使用Subversion的用户无法看到您进行的任何合并。此外,如果您合并或从作为SVN分支镜像的git分支提取数据,dcommit可能会提交到错误的分支 如果进行合并,请注意以下规则:git svn dcommit将尝试在中命名的svn commit之上进行提交 因此,必须确保要提交到的分支的最新提交是合并的第一个父级。否则会出现混乱,特别是如果第一个父级是同一SVN分支上的较旧提交。
我曾经在大学的一个项目中遇到过同样的问题。我所做的是:
- 创建新的git svn存储库(
)git svn克隆-s https://…
- 将分支与git合并(
)git签出主机;git合并分支
- 使用svn签出中继(
)svn co https://…/trunk
- 从git复制合并的文件
- 使用svn删除剩余的文件和目录(
)svn rm
- 使用svn提交(
)svn ci
- 获取git中的新提交
使用Git解决这些问题相当复杂,它会产生太多的冲突 谢谢你的有用的总结。git合并容易吗,比svn更容易吗?(我试图找到答案:)还有一件事,你有没有试着把数据提交回svn?如果是这样的话,你会遇到什么问题?@inger,不,我向svn承诺,以确保我不会推动只有git才能理解的半生不熟的合并。你可以使用--squash将合并压缩为一次提交。因此,将其推回到svn中应该更安全(否则您可能会重复许多以前的提交)链接:请参阅此答案:请参阅。。。第二个答案的“编辑:”部分(不是被接受的答案)特别好
git log --grep=^git-svn-id: --first-parent -1