繁体   English   中英

简单“从SVN获取所有新提交并将它们放入真正的GIT,到'svn'分支”设置?

[英]Simple “Get all new commits from SVN and put them into a true GIT, to 'svn' branch” setup?

这是我第一次尝试制作git-svn项目。 我有可直接访问的Debian服务器。

信息: - 本地SVN是一个分支,我不会做任何本地或远程提交

我要归档的内容:

  1. 创建真正的GIT本地存储库。 这很容易 :-]

  2. http://miranda.googlecode.com/svn/trunk/ (一个分支)创建SVN本地副本(或git-svn repo?我不知道在这种情况下会更好),然后自动获取所有更改一些检测远程更改并在之后运行“svn update”的脚本。

  3. 以某种方式从本地SVN repo到本地GIT仓库以及名为“Miranda-svn”的分支逐一获取所有“更改”(文件和提交消息)。 因此,当您查看此特定分支的提交/日志时,您将看到与http://code.google.com/p/miranda/source/list相同的消息。

  4. 将“Miranda-svn”分支推送到远程github.com帐户,项目名称“Test”,分支名称“Miranda-svn”

  5. 合并分支“Miranda-svn”与“主人”

有人能帮助我吗? 有这样设置的一些例子吗?

Git非常简单。

首先使用git svn“克隆”远程存储库

git svn init --trunk=trunk http://miranda.googlecode.com/svn miranda
cd miranda
git svn fetch
git checkout -b Miranda-svn remotes/trunk 

注意:您可能希望使用-r start:end开关限制获取的修订数

然后为github添加一个新的遥控器

git remote add origin git@github.com:myuser/test.git

最后将更改推送到github远程

git push origin Miranda-svn

使用SVN中的内容更新Git分支:

git checkout Miranda-svn # Just to be sure that we are on the correct branch
git svn rebase
git push origin Miranda-svn

将SVN更改合并到另一个Git分支:

git checkout master # Or whatever branch you want
git merge --no-ff Miranda-svn

NB! 由于SVN具有线性历史记录,并且“svn”分支将在每次“拉动”时重新设置,因此您不希望使用此设置向Miranda-svn分支提交任何内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM