当前位置: 首页 > wzjs >正文

网站不用域名需要备案吗北京建站

网站不用域名需要备案吗,北京建站,西安网站建设网站建设,网站空间查询工具一、为什么从 SVN 迁移到 Git? 在过去很长一段时间,很多公司都使用 SVN 作为版本控制工具。随着 Git 的普及,以及 CI/CD 等现代开发工具链的兴起,越来越多团队考虑从 SVN 迁移到 Git。 本篇博客记录我实际操作的一次 SVN 到 Git…

一、为什么从 SVN 迁移到 Git?

在过去很长一段时间,很多公司都使用 SVN 作为版本控制工具。随着 Git 的普及,以及 CI/CD 等现代开发工具链的兴起,越来越多团队考虑从 SVN 迁移到 Git。

本篇博客记录我实际操作的一次 SVN 到 Git 的迁移过程:我想将一个SVN老项目带走,因为SVN离开公司的中心服务器原来的提交历史等信息就会丢失,我自然就想到Git的自身就能进行版本控制的能力,然后我会出差来到一个无网络环境(局域网),此时我将进行一些开发做一些提交,最后回到公司将这些提交集成会公司的中心服务器.

Git的优势:

  • Git 分支管理灵活,支持分布式开发

  • 支持离线提交、离线历史查看

  • 集成更丰富的代码托管平台(GitHub、GitLab、Gitea 等)

  • 配合 CI/CD、Pull Request 等现代开发流程更友好


二、环境准备

工具:

如果你不熟悉Git可以看我的这篇博客:在Unity环境中使用Git进行版本控制(入门篇)_unity git-CSDN博客

安装了Git后在一个文件夹下验证一下环境:

在任意一个目录下右键发现一个Open Git Bash 验证下面两个命令

git --version
git svn --version

 

 


三、获取 SVN 作者信息映射表(可选)

如果不关心作者信息,则建议直接省略,省略这步则会直接使用SVN中的作者信息

如果想让 SVN 的历史作者正确映射成 Git 格式,需要一份作者映射表。

生成作者映射文件:

svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2"@example.com>"}' | sort -u > userinfo.txt

然后根据需要编辑 userinfo.txt,把 SVN 用户名改成人名邮箱等 Git 风格。


四、执行 git-svn 克隆

进入一个空目录(该目录是用来存放项目的):

git svn clone https://svn服务器地址/项目路径 

clone后面加上svn的地址就行了,但是也可以加一些参数,但是我对此不是很懂,所以没有使用,有需要则需要更细致的查看git的官方文档.

要注意的是大概率会弹出一个弹窗要求你信任证书

因为如果 SVN 是 HTTPS 且有自签证书,会提示信任证书,选择 t (临时) 或 p (永久信任)。

然后要求你输入你的svn账号密码.

参数说明:

参数含义
--no-metadata不保留 git-svn 内部元数据
--authors-file使用刚才的作者映射表
--stdlayout如果 SVN 仓库有标准目录结构(trunk/branches/tags)可以加上


五、离线开发与本地提交

Git 的好处就是,即使没网,也可以这样:

git add .
git commit -m "第一次离线开发提交"
git commit -m "第二次离线开发提交"

不用担心 SVN 连接失败。

你可以使用GUI工具,我上面提到博客也对此有说明.


六、恢复网络后同步回 SVN

先拉取一下 SVN 最新:

git svn fetch

然后同步你的历史提交:

git rebase remotes/git-svn
git svn dcommit

这样,你所有本地 Git 提交,会逐个同步回 SVN。

这里要提一下:这个由svn迁移的git仓库内部仍保持着对原来svn服务器的联系,所以你仍然可以更新或推送代码.所以这里的需要专门的命令(如 git svn dcommit而不是git commit)


七、推送到云端 Git 仓库

如果你还想同步备份到云 Git 仓库(比如 Gitee、GitHub、GitLab):

git remote add origin https://你云端Git地址.git
git push -u origin master

-u的意思是将名为origin的仓库设为默认推送或拉取的仓库

以后想同步:

git push
git pull

此时SVN中心服务器和Git云服务器都能和你这个仓库交互.

 其实这里我还遇到一个问题:我本想使用gitee作为我的云,但是遭遇了推送失败,原因是免费版本的云服务器限制单个文件要小于100MB,很不巧我的项目的历史提交中包含这么大的文件,所以我没法使用gitee,没办法我临时搭建一个自己的git服务器,我以前使用过gitea,轻量强大

Gitea简单部署:

https://github.com/go-gitea/gitea

从发布版里面找windows的64版本,下载下来就行了(我是临时用用,建议从官方文档查看规范的部署流程).

 

下载下来后,放在一个专门的目录下就完成了(这个目录就是你的服务器了) ,此时启动该exe

我的理解本质就是一个大的后端项目,访问该地址(ctrl+左键)

要求数据库,我选择SQLite,这样我不需要部署数据库,公司名填一下就可以安装了

 

默认第一个注册用户是管理员,后续操作和Github没有太大差别. 


八、日常双轨工作流建议

场景命令
从 SVN 拉取更新git svn fetch
把本地改动同步到 SVNgit svn dcommit
离线开发git commit
推送云端 Gitgit push origin master
拉取云端 Gitgit pull origin master

九、常见问题

1. SSL 证书错误怎么办?

SVN 自签证书的话,第一次拉取时会弹出信任确认,选 tp


2. 推送到 Git 报错:remote contains work that you do not have locally?

远程仓库可能有默认 README、.gitignore,你先:

git pull origin master --rebase

然后再推:

git push

3. 有没有办法以后彻底脱离 SVN?

可以,后续可以做一次仓库“脱 SVN 清洗”,删掉 .git/config 里的 svn-remote 部分,然后强制推送纯 Git 历史。

http://www.dtcms.com/wzjs/180965.html

相关文章:

  • 杭州网站推广服务推广赚钱
  • 免费建站系统优化神马排名软件
  • 内网是怎么做网站的百度指数怎么看排名
  • 做网站必须要公司才能做吗磁力库
  • 体验比较好的网站每日关键词搜索排行
  • 网站设计作业网站赚钱
  • 实惠的制作网站品牌营销包括哪些方面
  • 免费移动网站建设上海网络推广软件
  • 房产资讯什么网站做的好关键词什么意思
  • 福州什么推广网站好中国网络优化公司排名
  • 教育行业网站制作佛山百度关键词排名
  • 温州专业营销网站建设b站广告投放平台入口
  • 网站开发与解决技巧网络seo关键词优化技术
  • 突唯阿网站seo福州网站开发公司
  • 小学生入门编程用什么软件seo英文全称
  • 网站网讯广州市疫情最新
  • 网站构思沈阳seo关键词
  • wordpress 用户权限分配seo系统培训班
  • 互联网定制产品网站网站排名查询平台
  • 英文网站怎么推广百度seo服务公司
  • 邢台做网站哪儿好百度指数怎么刷指数方法
  • 哪个网站可以做logo全球搜索引擎排名2021
  • 做淘宝的人就跟做网站一样软文标题
  • 在哪个网站找事做靠谱站长素材网站官网
  • 政府网站建设标准网站百度不收录的原因
  • 部队织梦网站模板免费下载英文网站设计公司
  • 你的安全设置不允许网站网页设计与制作软件
  • 大连信息网滨州网站seo
  • 兼职网网站建设方案建议书360推广平台登录入口
  • 国家工商管理总局官网seo优化总结