#gatsby
#gatsby
Вопрос:
Несколько недель назад я развернул блог на основе Gatsby blog starter в Netlify.
Я выполняю настройку репозитория Git через GitHub (https://www.gatsbyjs.org/docs/hosting-on-netlify#git-repository-setup ).
Как мне выполнить обновление? Как мне отслеживать изменения в восходящем потоке?
Сегодня я осмотрелся с помощью diff. Для моего конкретного блога, кажется, это то, что я мог бы сделать вручную.
На данный момент, кажется, было бы достаточно учесть 2 вещи:
-
Изменения в src/components/seo.js из 74aed704ad706969945e7864a00d8adac1bd17e2.
-
Изменения в package.json.
Делая это вручную, я имею в виду, что я бы просто отредактировал seo.js и package.json, реплицирующий изменения в https://github.com/gatsbyjs/gatsby-starter-blog .
Есть ли другой способ сделать это?
Ответ №1:
Иногда есть веские причины не использовать инструмент Fork Github для разветвления вашего репозитория (для меня отсутствие поиска является большой проблемой). Но вы все равно можете извлекать изменения из восходящего потока в любом случае.
Соблюдайте правила гигиены git и создайте новую ветку для объединения восходящего потока, чтобы вы могли протестировать последние изменения:
git checkout -b upstarter
Добавьте пульт в upstream:
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
Скорее всего, вам придется разрешить конфликты, но после этого вы сможете объединить его обратно в master:
git checkout master
git merge upstarter
Ответ №2:
Обычно вы «разветвляете» шаблон starter и синхронизируете его, объединяя изменения обратно в свой разветвленный репозиторий. Чтобы добраться до этого момента, вы можете выполнить следующие действия:
-
В качестве отправной точки разветвляйте исходный репозиторий
-
Добавьте оригинал (так называемый «восходящий поток») в git remotes. Это зависит от используемого вами программного обеспечения git. На консоли это будет
git remote add upstream git@github.com:gatsbyjs/gatsby-starter-blog.git
- Следующий шаг — внести все ваши изменения (например, пользовательскую тему) в разветвленный репозиторий. Позже, когда обновления происходят с исходным репозиторием, вы видите информацию об этом на GitHub:
- Затем вы можете обновить свой git, выполнив приведенную ниже команду. Это может потребовать разрешения конфликтов, если вы изменили основные компоненты — следуйте инструкциям, которые предлагает git для этого.
git fetch --all; git merge upstream/master
- Публикация изменений в Netlify с помощью:
git push origin master
Если вы уже создали свой репозиторий, вам нужно будет создать новый, так как вы не можете установить информацию «forked by» вручную.