用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添加忽略文件。