用git-svn进行SVN到git的转换步骤

由于现场使用了SVN代码库,所以我们希望通过创建分支来推进开发。

最后我们决定转移到git代码库,所以我们选择了这种方式来进行代码库迁移。

我使用git-svn将SVN存储库中的每个提交日志完整迁移到了git存储库,这是我的备忘录。(使用命令和TortoiseGit)

如果提交日志或数据本身很多的话,需要注意一次分割为10个等等,否则会出现错误。

请参考以下网站:

https://www.karumado.com/2018/09/git-svnsubversiongit.html
https://qiita.com/toshikiw/items/56c57d12566cffa9e3fe

用git-svn克隆SVN存储库。

2. 确认分支

列出所有的 Git 分支。

3. 将事先准备好的git远程仓库添加到远程设置中。

将git远程地址添加为origin,地址为[リポジトリURL]。

将代码推送到Git的远程仓库。

将所有内容推送到远程仓库 origin 并设置默认分支为跟踪分支:git push -u origin –all

将之前能够通过SVN管理的空目录也纳入git的管理范围

请使用git来管理空的目录。

在这之后,为了避免错误提交到SVN端,请删除SVN的设置的方法。

删除SVN配置文件或git-svn配置文件。

请确认当前分支为主分支。

将需要的SVN分支重新创建为git分支。

删除本地的git-svn分支
git branch -D [分支名称]

・删除远程sit-svn分支
从配置文件中完全删除此部分

[svn-remote "svn"]
        url = <svnレポジトリurl>
        fetch = trunk:refs/remotes/trunk
        branches = branches/*:refs/remotes/*
        tags = tags/*:refs/remotes/tags/*

・从远程仓库删除
对于待办事项,可以从分支选项卡中删除
对于命令行,可执行以下命令:
git branch -r -d remotes/[主干、标签等]

进行垃圾回收
执行 git gc

删除元数据
删除元数据文件夹 .git/svn
删除元数据文件夹 .svn

额外的东西,关于gitkeep的故事

请参考以下网址获取更多信息:
https://blog.fukata.org/archives/6577
http://note.mokuzine.net/git-gitkeep/

由于Git无法对空目录进行版本管理,因此需要在空目录中放置一个名为”.gitkeep”的文件来管理它并使其成为版本管理的目标。
例如,日志目录。

对于空目录,创建一个名为.gitkeep的shell脚本。
対象目录下的所有空文件夹,运行以下命令:for d in $(find [対象のディレクトリ] -type d -empty); do touch “$d/.gitkeep”; done。

如果只想管理目录,而不希望管理其中的文件
例如)想要管理log目录,但是不想管理其中的日志文件

根据以下方式编辑(如果不存在则创建).gitignore文件(设置文件,用于忽略版本控制的文件)。

path/to/*
!.gitkeep

可以使用GUI添加忽略文件。

bannerAds