51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

多台电脑hexo部署到github的坑

前言 {#前言}

之前在家里搭建了博客,成功部署到github上,并将hexo目录也上传至github/hexo仓库保存。
后来到公司想把它们down下来,方便两边修改同步。

第一个坑:hexo发布博客到github {#第一个坑:hexo发布博客到github}

同样进行了一系列的node安装,hexo安装等,并且在hexo博客目录下down下了guthub/hexo的资源,本地启动,没问题。
但是当我发布想发布到yourname.github.io上时,问题来了,它居然把我的整个hexo博客目录 扔到了yourname.github.io上,不是说好的只发布.deploy_git下的内容呢!!

于是我就茫然了啊,我去查看hexo下的_config.yml文件,

|-----------------|-----------------------------------------------------------------------------------------------| | 1 2 3 4 | deploy: type: git repo: git@github.com:yourname/yourname.github.io.git branch: master |

没错啊,是这个地址啊。

后来一想也不对,就算这里错了也不对,不是目标地址错了,而是发布的内容错了。

网上查到了这篇博客: hexo部署到github遇到的坑,最后说删除hexo目录下的.git文件,然后我就试了试,重新发布,然后又报错了。。这里想截图可是命令行找不到了,大概就是说没有指定repository,然后我点开.deploy_git文件夹,突然想到在家里.deploy_git文件夹下面是有.git的,而且还是我自己指定的。

哈哈,瞬间好像知道了,打开git bash,切换到hexo/.deploy_git,执行

|-----------|------------------| | 1 | git init |

再绑定远程仓库

|-----------|------------------------------------------------------------------------------| | 1 | git remote add origin git@github.com:yourname/yourname.github.io.git |

回到cmd命令行

|-----------|----------------| | 1 | hexo d |

搞定了,成功提交了正确的博客内容。

第二个坑:hexo目录与github/hexo同步 {#第二个坑:hexo目录与github-x2F-hexo同步}

然后再把我的hexo目录和github/hexo同步,刚才把hexo目录下的.git删了。好吧,重新建回来。
git bash切换到hexo根目录

|---------------|-------------------------------------------------------------------------| | 1 2 3 | git init git remote add origin git@github.com:yourname/hexo.git |

执行pull指令

|------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 10 11 12 | $ git pull origin master From github.com:yourname/hexo * branch master -> FETCH_HEAD error: The following untracked working tree files would be overwritten by merge: .npmignore _config.yml db.json node_modules/.bin/JSONStream node_modules/.bin/JSONStream.cmd node_modules/.bin/acorn node_modules/.bin/acorn.cmd ... |

这里说一下,第一个坑中hexo目录下的内容是我直接从github/hexo上down下来复制过来的,然后本地又进行过hexo生成和发布操作,错误具体原因不太清除(知道的童鞋欢迎指正),网上查到解决办法是先清理

|---------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 10 11 | $ git clean -f -d Skipping repository .deploy_git/ Removing .npmignore Removing _config.yml Removing db.json Removing node_modules/ Removing package.json Removing public/ Removing scaffolds/ Removing source/ Removing themes/ |

清理后hexo目录下只剩.deploy_git和.git目录,再拉取就可以了

|-----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 | $ git pull origin master From github.com:yourname/hexo * branch master -> FETCH_HEAD Checking out files: 100% (7651/7651), done. |

所以下次可以先同步好hexo文件夹,这样第二个坑应该就不会出现了。

参考链接:https://www.cnblogs.com/tenny-peng/p/11543279.html


赞(5)
未经允许不得转载:工具盒子 » 多台电脑hexo部署到github的坑