1.用另一个仓库同步

部分参考1参考2参考3参考4

在服务器某个文件夹

1
2
3
git init --bare blog
--bare仓库初始化后,其项目目录下就是标准仓库.git目录里的内容,没有工作空间
这个仓库只保存git历史提交的版本信息,而不允许用户在上面进行各种git操作(如:push、commit操作)。但是,你依旧可以使用git show命令查看提交内容

在本地新建文件夹

1
git init blog

把博客目录下除.deploy_git、node_modules、public目录外所有文件都拷贝到blog文件夹

然后把theme文件夹内的所有.git .gitkeep .github都删除

blog目录下,先连接远程仓库

1
git remote add origin git@{server}:/home/git/blog

或者拉取仓库?

1
git pull git@{server}:/home/git/blog master

再上传三步

1
2
3
git add .
git commit -m "commit"
git push git@{server}:/home/git/blog master

然后一般就成功了,可以在其它设备

1
git clone git@{server}:/home/git/blog

然后npm i就与原博客内容同步了

不修改配置文件的话,一般写博客只会影响_post内的md文件,所以除第一次外后续只用同步_post目录就行吧?

可以写个bat

1
copy blog\source\_posts blog1\source\_posts /Y && npm run dd
1
git add . && git commit -m "commit" && git push git@{server}:/home/git/hexo master

问题

1.如果theme目录clone为空,则需要删除暂存区

1
2
3
git reset HEAD .
或者
rm .git/index

并且

1
git rm -rf --cache themes/主题

2.不使用--bare会出现的问题

2.也可以用博客仓库的另一个分支同步