Web 有没有办法自动更新我的github repo?

Web 有没有办法自动更新我的github repo?,web,github,cloud,Web,Github,Cloud,我有一个在云服务器上运行的网站。我可以将相关文件链接到我的github存储库吗。因此,每当我对我的网站进行任何更改时,它都会在我的github存储库中自动更新?假设您的云服务器运行支持bash脚本的操作系统,请将此文件添加到存储库中 假设您的文件位于/home/username/server中,我们将该文件命名为/home/username/server/AUTOUPDATE #!/usr/bin/env bash cd $(dirname ${BASH_SOURCE[0]}) if [[

我有一个在云服务器上运行的网站。我可以将相关文件链接到我的github存储库吗。因此,每当我对我的网站进行任何更改时,它都会在我的github存储库中自动更新?

假设您的云服务器运行支持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授予此文件执行权限


这将始终使用“更新”的提交消息推送更改。

假设您的云服务器运行支持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授予此文件执行权限


这将始终使用“更新”的提交消息推送更改。

您是说在云服务器上更改网站时希望github得到更新吗?使用rsync或类似的不需要用户输入就可以提交更改。是。我希望我的github在没有任何用户输入的情况下自动更新以提交更改Show我可以使用rsync吗?GitHub是否提供了其他工具?您是说在云服务器上更改网站时希望GitHub得到更新?使用rsync或类似的不需要用户输入就可以提交更改。是。我希望我的github在没有任何用户输入的情况下自动更新以提交更改Show我可以使用rsync吗?GitHub是否提供了其他工具?谢谢!!我想在您提到的解决方案中,即使我更改了一个单词,也会有多个提交。@KillMe这是对的。这就是为什么我推荐其他不使用git的东西,比如rsync。Git不能按您希望的方式工作。那么什么是更有效的解决方案呢?rsync是如何工作的?它如何知道何时开始提交或更新我的github repo?@KillMe我假设您希望服务器上的代码复制到其他地方,这样就可以在不访问服务器的情况下访问它。遗憾的是,它无法与github一起工作。您需要自己的服务器,或者找到其他支持rsync的服务,它的工作原理类似于dropbox。类似的方法也可以,但这不是问题的范围。谢谢!!我想在您提到的解决方案中,即使我更改了一个单词,也会有多个提交。@KillMe这是对的。这就是为什么我推荐其他不使用git的东西,比如rsync。Git不能按您希望的方式工作。那么什么是更有效的解决方案呢?rsync是如何工作的?它如何知道何时开始提交或更新我的github repo?@KillMe我假设您希望服务器上的代码复制到其他地方,这样就可以在不访问服务器的情况下访问它。遗憾的是,它无法与github一起工作。您需要自己的服务器,或者找到其他支持rsync的服务,它的工作原理类似于dropbox。类似的东西也能起作用,但这不是这个问题的范围。