博客仓库位置
文章目录
自从博客从Jekyll迁移至Hugo之后,仓库的位置也发生了变动。记录一下,以备查看。
2022年02月07日
仓库说明
我的博客仓库发生过两次大的变动,第一次是从Jekyll迁移到Hugo,第二次是从Git Pages(包括Github和Coding)部署迁移到Vercel部署。于是我现在有3个博客仓库。
-
仓库一、第一次迁移之前的博客仓库保留在GitHub上,命名为"blog_jekyll"。
-
仓库二、第二次迁移之前的博客仓库保留在Gitee上,命名为"HugoBlog"。
共有18次提交,最后一次提交HashID:9583d5637dad27d66850abcf6c1f15e8edb9c622, 提交内容为“修改: README.md 加入“Daily Life”分组”。
此仓库使用Hugo生成静态博客页面,主题使用even,采用了submodule方式引用主题仓库。 -
仓库三、第二次迁移之后的博客仓库托管于Github上,命名为"HugoBlog",共有7次提交。
此仓库删除了之前的提交记录,大概是因为将博客部署在Vercel上的时候, 主题even使用git submodule不成功,具体原因想不起来了。
此时依旧使用Hugo生成静态博客页面,主题使用even,但是引用主题方式改成了将主题 文件下载到本地,使用主Git仓库来追踪主题文件版本。
仓库重整
现在我来重新设计一下博客仓库,原因有两个:
- 一、删除原来的Git提交历史绝对是一个非常不科学的做法,所以现在想和保留着之前 提交记录的仓库合并。也就是合并仓库二和仓库三。
- 二、使用主Git仓库来追踪主题文件,使得更换主题的灵活性降低,仓库臃肿冗余。
解决方案
- 克隆仓库二和仓库三到本地,分别命名为blog_gitee和blog_github。
- 进入blog_gitee,以此仓库为基准,加入新的提交,首先新建一个分支命名为"combine"。
- 将blog_github以远程仓库的形式添加进来。
- 拉取github内容到本地,但不合并"fetch"。
- 尝试合并拉取过来的内容到新的分支,此时肯定会有很多冲突,需要手动解决。
- 解决冲突后,提交最新的内容即可。
- 认为此分支没有问题了,就可以合并到主分支中了。
以上过程的命令如下:
|
|
解决冲突
解决冲突最好的方式是使用VSCode提供的工具来识别在merge过程中git在文件中标出的冲突位置,然后统一采用blog_github中的修改即可。当然也可以手动修改文件内容,这个时候要学会认识git标记冲突的格式,可以参看这篇文章。而关于 git diff
的格式则可以参看这篇文章。
不好处理的位置是主题目录,因为在blog_github中有对主题文件的追踪,所以要用 git rm -rf themes/even
来删除对主题文件的追踪。
添加子模块
|
|
因为我想要使用修改后的主题文件,所以不能直接使用even作者的原始仓库,我需要fork一份出来,我准备放两个submodule进来,一个指向原始仓库,一个指向我自己fork出来的主题(其实没必要,只需要将我自己fork出来的仓库本地目录重命名为"my-even"即可)。这个仓库要托管在github上,因为vercel(国外网站)可能与github的连接速度更快一些。测试中托管在Gitee上面的submodule在Vercel上也成功了。
2021年8月18日
看了《vercel是什么神仙网站?》,决定把站点部署在Vercel
现在只需要将内容提交到Github/HugoBlog仓库,但是even主题代码要在这个仓库里面,不再需要子模块了。同时将public列入gitignore。Vercel会自动感知提交,并用Hugo生成站点,然后自动部署。
2021年8月3日
因为码云Gitee不支持自定义域名(收费),所以一直不想用。而且大家对我现在的博客域名已经有了书签,不便再变更,所以先这样吧。 现在Gitee正在升级维护,等年底它把这个服务开了之后,转过来也行。
该死的Coding天天更改业务逻辑,甚至有一段时间还停止了网站托管服务,最是不能忍。不过国内的代码托管服务商也就只有这两家可以用,别的也没有选择了啊。
现在博客仓库分为一人主仓库,两个子仓库。
- 主仓库:放置文章内容源码以及辅助文件。
- 子仓库一:Public 放置布署的成品页面。
- 子仓库二:Theme 放置模板。
主仓库
同步在Coding HugoBlog项目中的HugoBlog仓库。
在Gitee上有HugoBlog仓库的备份。
子仓库:Public
同步在Coding HugoBlog项目中的hugoblog-deployed仓库。
子仓库:Theme
Fork 自 https://github.com/olOwOlo/hugo-theme-even, 现在同步在Gitee 上的 hugo-theme-even 仓库。