如何通过GitHub升级部署在Netlify上的Gatsby入门博客?

时间:2019-04-12 21:49:53

标签: gatsby

几周前,我在Netlify上基于Gatsby blog starter部署了一个博客。

我正在通过GitHub(https://www.gatsbyjs.org/docs/hosting-on-netlify#git-repository-setup)进行 Git存储库设置

如何升级?如何跟踪上游的变化?

今天我环顾diff。对于我的特定博客,看来这是我可以手动完成的事情。

目前看来,考虑两件事就足够了:

通过手动进行,我的意思是我只需要编辑 seo.js package.json 即可将更改复制到{{3} }。

还有另一种方法吗?

2 个答案:

答案 0 :(得分:2)

通常,您将“分叉”入门模板并通过将更改合并回您的分叉存储库中来使其保持同步。为此,您可以按照以下步骤操作:

  1. 作为起点,源存储库fork button on GitHub

  2. 将原始文件(所谓的“上游”)添加到git remotes。这取决于您使用的git软件。在控制台上应该是

git remote add upstream git@github.com:gatsbyjs/gatsby-starter-blog.git
  1. 下一步是在分支的存储库中进行所有更改(例如自定义主题)。稍后,当原始存储库发生更新时,您会在GitHub上看到有关它的信息:

enter image description here

  1. 然后您可以通过运行以下命令在git中进行更新。如果您更改了核心组件,则可能需要解决冲突-请按照git建议的步骤进行操作。
git fetch --all; git merge upstream/master
  1. 通过以下方式将更改发布到Netlify:
git push origin master

如果已经创建了存储库,则您将需要创建一个新的存储库,因为您无法手动设置“ forked by”信息。

答案 1 :(得分:2)

有时候,有很多理由不使用Github Fork工具来分叉您的仓库(缺少搜索对我来说是一个很大的原因)。但是无论如何,您仍然可以从上游拉取更改。

请保持良好的git卫生习惯并创建一个新分支以合并上游,以便您可以测试重大更改:

git checkout -b upstarter

将遥控器添加到上游:

git remote add upstream git@github.com:gatsbyjs/gatsby-starter-blog.git

获取上游:

git fetch upstream

然后,当您合并它时,请使用--allow-unrelated-histories参数:

git merge upstream/master --allow-unrelated-histories

您很可能会解决冲突,但是之后您可以将其合并回主服务器:

git checkout master
git merge upstarter