所以我的团队目前正在为我们的项目使用svn存储库。有另一个团队并行工作,但是他们正在使用git存储库。我想采用其他团队的代码并将其合并到我们的代码中。我已经尝试了几次,但是我一直在不合并的情况下提取它们的代码,即它只会覆盖我们的文件。我一直在使用git-svn工具,但收效甚微,我担心在我们的svn日志中,越来越多的无用和垃圾提交的情况在老板面前显得不好。
这些是我遇到的一些障碍:
以下是示例(此post中的第一个答案):
mkdir copy-git-repo
cp -a orig-git-repo/. copy-git-repo/
cd copy-git-repo/
svn mkdir --parents https://svn/url/PROJECT/trunk -m "Trying to merge of of their git repos into our svn"
git svn init https://svn/url/PROJECT -s
git svn fetch
git rebase trunk master
# if there are merge conflicts
git status
# deal with merge conflicts listed
git add .
git rebase --continue
git svn dcommit
有人看到我犯了一个错误吗?
答案 0 :(得分:0)
如果您习惯使用svn,我建议您直接使用svn(即使我讨厌它)。所以....如果您看一下另一支团队的仓库(正在使用git的仓库),可以将svn修订版(来自您的svn仓库)映射到git仓库的修订版...我是说, 1到1,不是 close 修订。它必须与修订的完全匹配。
假设您要将git分支X(从其仓库中)合并到您的主干分支(从您的仓库中)。如果您发现X的祖先与躯干的祖先相等,即为1:1,那么您可以:
作为最后的建议(抱歉,这是我的观点):请考虑永久使用git 。要适应svn的差异需要花费一些精力...但是您不会后悔。