Есть ли способ автоматически обновить мой репозиторий github?

У меня есть веб-сайт, работающий на облачном сервере. Могу ли я связать соответствующие файлы с моим репозиторием github. Итак, всякий раз, когда я делаю какие-либо изменения на своем веб-сайте, он автоматически обновляется в моем репозитории github?

Вы говорите, что хотите, чтобы github обновлялся, когда вы вносите изменения в свой веб-сайт на своем облачном сервере? Вместо этого используйте rsync или что-то подобное, не требующее ввода пользователем данных для фиксации изменений.

josephting 09.04.2019 08:43

да. Я хочу, чтобы мой github автоматически обновлялся без каких-либо действий пользователя для фиксации изменений.

KillMe 09.04.2019 08:48

Как я могу использовать rsync? Есть ли альтернативный инструмент, предоставляемый GitHub?

KillMe 09.04.2019 08:49
5 способов использования оповещений, предупреждений, ошибок, сообщений об успехе в Bootstrap
5 способов использования оповещений, предупреждений, ошибок, сообщений об успехе в Bootstrap
Bootstrap - это популярный front-end фреймворк, который делает веб-разработку проще и быстрее. Использование Bootstrap растет по мере того, как все...
Библиотека Bootstrap
Библиотека Bootstrap
Bootstrap - это бесплатный набор инструментов для разработки веб-приложений с открытым исходным кодом, разработанный компанией Twitter. Написанный на...
HTML И VS CODE Для Веб-разработки
HTML И VS CODE Для Веб-разработки
Прежде чем начать кодировать html в "VS CODE", мы должны сначала создать папку и назвать ее x.html, здесь я принимаю x как имя файла, который мы...
Красиво оформленное веб-приложение для отправки HTML писем на PHP
Красиво оформленное веб-приложение для отправки HTML писем на PHP
В современный цифровой век маркетинг электронной почты играет жизненно важную роль в успехе любого бизнеса, а создание красиво оформленных HTML-писем...
Раскройте весь потенциал вашего проекта Angular с помощью экспертного знания команд Angular CLI
Раскройте весь потенциал вашего проекта Angular с помощью экспертного знания команд Angular CLI
Angular - это популярный JavaScript-фреймворк для создания веб-приложений. Одной из ключевых особенностей Angular является его мощный интерфейс...
Соскабливание и загрузка изображений Google с помощью Python
Соскабливание и загрузка изображений Google с помощью Python
Растущая распространенность веб-скрейпинга значительно расширила области его использования. Многие приложения искусственного интеллекта сегодня...
0
3
4 329
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Предполагая, что на вашем облачном сервере работает ОС, поддерживающая сценарий bash, добавьте этот файл в свой репозиторий.

Допустим, ваши файлы находятся в /home/username/server, и мы назовем файл ниже /home/username/server/AUTOUPDATE.

#!/usr/bin/env bash

cd $(dirname ${BASH_SOURCE[0]})

if [[ -n $(git status -s) ]]; then
    echo "Changes found. Pushing changes..."
    git add -A && git commit -m 'update' && git push
else
    echo "No changes found. Skip pushing."
fi

Затем добавьте запланированную задачу, например crontab, чтобы запускать этот скрипт так часто, как вы хотите, чтобы ваш github обновлялся. Сначала он проверит, есть ли какие-либо изменения, и только зафиксирует и отправит все изменения, если есть какие-либо изменения.

Это будет запускать каждый скрипт каждую секунду.

*/60 * * * * /home/username/server/AUTOUPDATE

Не забудьте дать этому файлу разрешение на выполнение с помощью chmod +x /home/username/server/AUTOUPDATE

Это всегда будет отправлять изменения с сообщением фиксации «Обновить».

Спасибо!! Я предполагаю, что в упомянутом вами решении будет несколько коммитов, даже если я изменю одно слово.

KillMe 10.04.2019 02:17

@KillMe Это верно. Вот почему я рекомендовал что-то еще, например rsync, не использующее git. Git просто не работает так, как вы хотите.

josephting 10.04.2019 02:28

Итак, что было бы более эффективным решением? Как работает rsync? Как он узнает, когда начать коммит или обновить мой репозиторий github?

KillMe 10.04.2019 02:41

@KillMe Я предполагаю, что вы хотите, чтобы коды на сервере были скопированы в другое место, чтобы они были доступны без доступа к серверу. К сожалению, это не будет работать с github. Вам нужен собственный сервер или найдите какой-нибудь другой сервис, поддерживающий rsync, который работает аналогично чему-то вроде Dropbox. Что-то подобное тоже работает, но это не тема этого вопроса.

josephting 10.04.2019 02:45

Есть ли модуль/пакет для Node.js для достижения цели такого автообновления?

stckvrw 27.10.2021 16:00

Другие вопросы по теме