我想知道使用Hexo将帖子发布到我的Github页面的正确步骤。基于tutorial,它看起来非常简单明了,但它给我带来了巨大的麻烦和痛苦。
以下是我遵循的步骤:
hexo new post "my new post"
hexo generate
hexo deploy
(这是灾难命令)
在进行hexo部署之后,我之前的所有提交都将在我的Github页面上删除,我做错了什么?请帮忙。
我已经联系了GitHub的人工支持,他们查看了我的Git推送历史并告诉我,我强行推送提交,最终删除了我之前的所有提交。
我从来没有意识到这个force
推动。出了什么问题?
然后我做了大量的研究并尝试了另一种方式,我只是跟着这个官方tutorial。我所做的是:
hexo new post "my new post"
git add .
git commit -m "commit message"
git push
但我的个人网站根本没有显示我的新帖子。我做错了什么?
答案 0 :(得分:0)
您需要确保项目的主Git存储库与您的部署username.github.io存储库是分开的。当您hexo deploy
到您的username.github.io帐户时,它只会使用部署日期/时间的提交消息推送所有更改。
答案 1 :(得分:0)
我认为问题依赖于_config.yml
文件中的部署配置。
在进行hexo部署之后,我之前的所有提交都将在我的Github页面上删除,我做错了什么?
根据您的描述,我认为您已经使用git来控制由hexo init fishercoder1534.github.io
生成的hexo项目仓库。然后你还将其原点设置为https://github.com/fishercoder1534/fishercoder1534.gi thub.io.git。需要注意的是,当您使用git init
设置git时,会创建 master 作为默认分支。
deploy:
type: git
repo: https://github.com/fighter3228/fishercoder1534.github.io.git
branch: master
message: "Site updated: {{ now('YYYY-MM-DD HH:mm:ss') }}"
再次根据您的描述,我认为_config.yml
文件中的部署配置应如上所示。问题是当你在同一个repo中使用git作为部署工具时。更糟糕的是,它使用与您用于版本控制项目仓库的相同分支 master 。这就是为什么你以前的所有提交都被删除了。
如果您仍然在本地拥有您的hexo项目repo,要让所有提交回来,您可以在您的hexo项目仓库中执行git push -f
,然后您可以在Github上看到,您的所有提交都已恢复。
然后,如果你想使用git作为部署工具而你不想为你的github页面创建另一个repo,你可以按如下方式修改你的部署配置:
deploy:
type: git
repo: https://github.com/fighter3228/fishercoder1534.github.io.git
branch: gh-pages
message: "Site updated: {{ now('YYYY-MM-DD HH:mm:ss') }}"
运行'hexo g -d'让hexo为部署创建 gh-pages 分支。然后github会自动从 gh-pages 分支构建你的github页面,同时你可以将你的hexo项目repo版本控制在master分支。
我建议你在Github创建另一个repo,一个repo版本控制你的hexo项目文件夹,并有另一个repo来部署你的github页面。