安装和使用GitFS完整示例 #
安装GitFS #
Ubuntu安装方法 #
Ubuntu 18.04+
sudo add-apt-repository ppa:presslabs/gitfs
sudo apt-get update
sudo apt-get install gitfs
MacOS安装方法 #
先决条件
brew install gitfs
Debian安装方法 #
包含Raspbian系统
sudo echo "deb http://ppa.launchpad.net/presslabs/gitfs/ubuntu disco main" > /etc/apt/sources.list.d/gitfs.list
sudo echo "deb-src http://ppa.launchpad.net/presslabs/gitfs/ubuntu disco main" >> /etc/apt/sources.list.d/gitfs.list
sudo apt update
sudo apt install gitfs
挂载 #
在挂载之前,您需要一个有效的 git 存储库。您可以使用本地存储库或像 GitHub 这样的 git 服务。
为了将存储库挂载到所需的目录,请使用如下命令:
gitfs http://your.com/repository.git /mount/directory
完整的 github 示例 #
参考以下设置:
- 以
www-data
用户/组身份运行的 apache2 foo_user
- github.com账号名boo_password
- github账号密码https://github.com/foo_user/my_git_project.git
- 远端库URL
挂载前先新建以下两个目录:
mkdir /var/lib/gitfs
mkdir /var/mount/whatever_dir
现在使用以下命令测试一下运行情况:
gitfs -o log=/var/log/gitfs.log,debug=true,foreground=true,commiter_name=foo_user,commiter_email=[email protected],user=www-data,group=www-data,username=foo_user,password=boo_password https://github.com/foo_user/my_git_project.git /var/mount/whatever_dir
打开另一个终端窗口,并通过命令 tail -f /var/log/gitfs.log
监视日志文件。尝试 dir 中的文件,看看它如何反映在 github 上的存储库中,确保它双向工作。完成后,使用 Ctrl-C 停止 gitfs。
下来,可以通过以下命令让gitFS在后台持续工作。
gitfs -o log=/var/log/gitfs.log,debug=false,foreground=false,log_level=warning,commiter_name=foo_user,commiter_email=[email protected],user=www-data,group=www-data,username=foo_user,password=boo_password https://github.com/foo_user/my_git_project.git /var/mount/whatever_dir
完整选项说明请参考 GitFS参数说明
目录结构 #
current/
– 包含分支的 HEAD 指向的提交的快照。此处所做的任何更改都将自动提交并推送到您已挂载的存储库。
history/
– 包含一系列名称为 dates 的目录。在这些目录中,您将找到每个提交的只读快照,这些快照按该提交的时间和 SHA 分类。每个快照都是只读的。
history
文件夹如下所示:
2014-09-15
12:33:26-b6758e0c38
15:52:02-68a2154362
16:14:52-1d5e4f71ba
16:16:40-c74a4d8078
16:17:24-cf3f4fbad8
2014-09-17
11:19:55-256c692b89
14:30:25-0ab3d88431
15:04:21-8e214eb797
2014-09-18
11:40:06-9e154650f1
16:05:23-cebf6b7388
内部文件夹是其各自提交的快照。
保持最新状态 #
gitfs 会在给定的时间间隔内自动从存储库中获取最新更改。获取之间的默认延迟为 30 秒,但您可以使用 fetch_delay 参数更改此值。有关更多详细信息,请参阅 GitFS参数说明 。