wordpress 整站打包,做站长工具网站,软文例文 经典软文范例,西安建站套餐背景
项目代码管理初始使用的svn, 由于svn代码操作#xff0c;无法在本地暂存#xff0c;有诸多不便#xff0c;另外本人习惯使用git. 所以决定迁移至git管理 迁移要求#xff1a;
保留历史提交记录 迁移流程
代码检出
git svn svn_project_url
git代码提交
修改本…背景
项目代码管理初始使用的svn, 由于svn代码操作无法在本地暂存有诸多不便另外本人习惯使用git. 所以决定迁移至git管理 迁移要求
保留历史提交记录 迁移流程
代码检出
git svn svn_project_url
git代码提交
修改本地代码使用git add/commit将修改提交到本地git库
git add/commit
同步svn更新
定期使用git svn rebase获取中心svn repository的更新
git svn rebase
git本地更新同步至svn
使用git svn dcommit命令将本地git库的修改同步到中心svn库
git svn dcommit 其他
检出一个已存在svn repository(类似于svn checkout)
一般情况下git svn clone这个操作会从第一个版本开始同步如果版本号已经到了好几万或更高这个操作会相当的费时。这时可以使用参数-r$REVNUMBER:HEAD检出指定版本后的代码。
因此更好的步骤应该是这样
svn info svn_repository_url, 记录最后的版本号假设是220
假设要检出最后20个版本做个简单的减法 220 – 20 200
开始clone操作了git svn clone -r200:HEAD svn_repository_url
git svn clone -r200:HEAD svn_repository_url 从中心服务器的svn repository获取最新更新
这个操作可以通过”git svn rebase”完成。注意这里用的是rebase而不是update。update命令对于通过git svn检出的svn repostory的git版本库是不可用的。 查看提交历史日志
使用”git svn log”加上-v选项还可以提供每次commit操作涉及的相关文件的详细信息。
git svn log 将本地代码同步到Svn服务器
通过”git svn dcommit”命令。这个命令会将你在本地使用git commit提交到本地代码库的所有更改逐一提交到svn库中。加上-n选项则该命令不会真正执行commit到svn的操作而是会显示会有哪些本地 变动将被commit到svn服务器。git svn dcommit似乎不能单独提交某个本地版本的修改而是一次批量提交所有与svn中心版本库的差异。 提交时的冲突解决
如果你正在提交的文件在svn服务器上已经被别人改过就会发生提交冲突。通常解决方法如下
首先使用git svn rebase获取svn服务器上的最新冲突文件比如demo.java这将导致与本地demo.java冲突不过此时svn版本信息已经添加到本地git库中(通过git log可以查看)git svn rebase提示你在解决demo.java的冲突后运行git rebase –continue完成rebase操作
打开demo.java修改代码解决冲突
执行git rebase –continuegit提示You must edit all merge conflicts and then mark them as resolved using git add
执行git add demo.java告知git已完成冲突解决
再次执行git rebase –continue提示”Applying: git xxx”此时”git xxx”版本又一次成功加入本地版本库可通过git log查看
执行git svn dcommit将demo.java的改动同步到svn中心库到此算是完成一次冲突解决。 尽量在线模拟验证后再迁移项目
svn在线托管网址
SVNBucket - SVN仓库免费 SVN 代码托管服务器不限私有不限成员SVNBucket是一个SVN代码托管平台提供了可视化的管理界面让操作变得简单、方便超大在线SVN空间。知名厂商 OPPO 的选择安全稳定、长久运营、放心使用。不限私有项目、不限成员数量支持文件级权限控制、SVN 钩子https://svnbucket.com/ git在线托管网址 Gitee - 基于 Git 的代码托管和研发协作平台面向企业提供一站式研发管理解决方案包括代码管理、项目管理、文档协作、测试管理、CICD、效能度量等多个模块支持SaaS、私有化等多种部署方式帮助企业有序规划和管理研发过程提升研发效率和质量。https://gitee.com 祝顺利