打造简单局域网文件服务器

本文仅作为一个学习记录,使用git将树莓派用作局域网的文件共享服务器,以实现我两台电脑(mac和windows)的文件互通,并能在任意一台电脑关机的情况下继续工作。

1. 在树莓派上创建裸仓库

由于不需要工作区,也不需要在树莓派上浏览文件,所以创建裸仓库即可。

在裸仓库目录下执行命令:

1
git init --bare

并修改权限:

1
sudo chown -R pi:pi /path

其中pi应当替换为树莓派上实际的用户名,后面的路径也改成实际的路径

2. 初始化仓库

首先应当在电脑上安装好git,mac可通过homebrew安装,Windows用户可安装Git for Windows

在本地需要同步的目录下通过 cd 进入,然后初始化仓库:

1
2
git init
git branch -M main # 设置默认分支为main

添加树莓派为远程仓库:

1
git remote add origin ssh://username@host/path

其中路径应当替换为树莓派上裸仓库的路径

3. 推送文件

在本地电脑上执行下列命令,将所有文件添加到暂存区:

1
git add .

这个命令会把所有变更添加到git的暂存区。

Git分为三大层级,分别为工作区、暂存区和版本库。工作区即本地目录,而暂存区是一个快照层,用于保存下一次准备提交的文件快照,以用于最终的提交。

将暂存区的内容提交到本地版本库:

1
git commit -m "description"

其中-m参数用于添加提交说明。这一步会将暂存区的文件快照保存到本地Git仓库中,生成一个唯一的提交记录。

将本地提交推送到树莓派远程仓库:

1
git push -u origin main

首次推送成功后,后续可直接使用 git push

4. 拉取文件

在日常使用中,应在工作结束后执行 git push 将本地更改推送到树莓派,而在开始工作前执行 git pull 从树莓派拉取最新文件,以保持多台电脑之间的文件同步。

本文使用CC BY-NC-SA 4.0协议进行许可