小编mpl*_*ork的帖子

合并两个git存储库历史记录

我想将cvs和svn存储库组合成一个新的git仓库,当然不会丢失历史记录.捕获的是svn repo是历史上cvs repo的直接延续.有人刚刚创建了svn repo并且笨拙地从cvs添加了最后一个状态而没有保留任何历史记录.最近的消息来源是svn.我不想保留旧的回购.

图形历史:

CVS: A - B - C
SVN: D - E - F - G
Run Code Online (Sandbox Code Playgroud)

我想要的是:

GIT: A - B - C - D - E - F - G
Run Code Online (Sandbox Code Playgroud)

我用cvs2git用cvs制作了一个git repo,用svn制作了另一个git repo,git svn clonehttp://john.albin.net/git/convert-subversion-to-git所述,但是无法弄清楚如何组合二.我这样做了:

git clone cvs.git
cd cvs
git remote add svn ../../svn.git
git fetch svn
Run Code Online (Sandbox Code Playgroud)

怎么办?git merge -s ours svn/master似乎做我想要的但不创建线性历史:

A - B - C - - - H'
               /
D - E - F - G …
Run Code Online (Sandbox Code Playgroud)

svn git cvs

5
推荐指数
1
解决办法
267
查看次数

标签 统计

cvs ×1

git ×1

svn ×1