使用Git自动备份我的世界存档
本文最后更新于 305 天前,如有失效请评论区留言。

使用Git自动备份我的世界存档

托管平台的选择

GitHub

GitHub是目前最大的在线代码托管网站,其实也提供私有部署解决方案。GitHub 阻止超过 100 MB 的推送,即单个文件最大100MB,如果尝试添加或更新大于 50 MB 的文件,您将从 Git 收到警告。建议仓库保持较小,理想情况下小于 1 GB,强烈建议小于 5 GB。较小的仓库克隆速度更快,使用和维护更容易。缺点是国内访问速度慢,国内服务器可能会遇到连接不上的情况。

Gitee

国内的Git的代码托管服务平台,限制比Github严格,优点是国内访问速度快。

GitLab

Gitlab目前也有在线代码托管服务,但用得更多的还是私有部署的Gitlab。私有部署的Gitlab,仓库一般只限制了上传文件的大小。从代码的私有性上来看,GitLab 是一个更好的选择。缺点是服务器在国外,优点是Gitlab有开源社区版,可以部署到自己的服务器上。

Gogs

Gogs 旨在构建一个简单、稳定和可扩展的自托管 Git 服务,可以以最无痛的方式进行设置。使用 Go,这可以通过跨 Go 支持的所有平台(包括 Linux、macOS、Windows 和基于 ARM 的系统)的独立二进制分发来完成。优点是开源,方便部署,硬件要求低,使用方法和GitHub类似。

准备工作

  • 你的我的世界服务器

  • Github账号

创建仓库

打开GitHub首页

GitHub首页


GitHub创建仓库

这里我选择了公开仓库,其实一般也没人看,还方便后面推送。

GitHub仓库地址

这就是你的仓库地址,记住他。

推送前准备

Git安装

首先登录你的MC所在服务器,(Windows打开Git Bash)用下方命令查看Git版本(大多数服务器好像自带此命令,不用特意安装)

git --version    #查看Git版本

若返回 git --version **** 证明Git已安装,若不是请安装Git。

开始推送

ssh到你我的世界服务端所在服务器,例如我要备份我的世界存档文件夹world/ ,那么我们先cd到此目录。,然后执行以下命令。

git config --global init.defaultBranch main

由于Github在2020年把主分支由master改为main,所以要先执行上面这条命令把Git的默认分支更改为main。如果你用的是Gitee,则不需要输入这条命令。

Git用户配置

git config --global user.name "***"       # ***替换为你的Github用户名,就是登录时输入的那个
git config --global user.email "***"     # ***替换为你Github的邮箱

Git设置及推送

git init
git add .
git commit -m "第一次提交"     #双引号内为提交的注释
git remote add origin ***      #将***替换为你的仓库地址

若远程仓库不为空,例如有 README.md 文件请先执行同步指令

git pull --rebase origin main
git push -u origin main

推送时Windows用户会弹出授权窗口,授权即可,有些Linux用户推送到Gitee可能会重复提示让输入用户名和密码的情况,此时请使用ssh方法借助ssh公钥实现推送,经测试推送到GitHub不会出现这种情况。

不出意外,此时你已经推送成功了,接下来我们要实现自动推送。

自动推送

设置自动推送文件

新建一个 push.sh 文件(Windows用户已经安装Git,所以也可以执行.sh文件)输入以下代码,注意把分支名填对。

#!/bin/bash
git status
echo "####### 开始自动Git #######"
current_time=$(date "+%Y/%m/%d -%H:%M:%S")        # 获取当前时间
echo ${current_time}            # 显示当前时间
git add .
git commit -m "modified ${current_time}"      # 远程仓库可以看到是什么时间修改的...
git push origin main
echo "####### 自动Git完成 #######"
sleep 2s

双击运行它,你可能会遇到在Windows在能运行此文件,但在Linux下不能,错误提示bad interpreter: No such file or directory这是因为Linux无法识别出Windows的DOS格式,此时只需将文件格式转换成unix的即可,方法如下。

vi push.sh     #编辑出错文件
:set ff        #报错文件格式是DOS
:set ff=unix     #修改格式
:wq     保存退出

这时重新执行,可以发现执行成功。

设置自动推送任务

Windows用户请借助 定时任务 实现自动执行脚本文件 参考文档

Linux用户请借助 Crontab 命令实现自动执行脚本文件 参考文档

版权声明:本文为xiaomi250原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇