在Android手机上有一个Termux APP,可运行类似 Linux 终端的模拟器,现在手里的项目代码比较多难以管理,放到网上的Git代码托管平台又不想公开的话,是否觉得不放心,就把手机用来搭建一个私有的代码托管Git服务器运行,这里告诉大家具体怎么做。
Termux
还不熟悉Termux是啥,可以先看看以下这篇文章
接下来,在手机的Termux终端里,如下图,输入命令
安装必备
批量安装所需功能,命令如下
pkg install openssh vim git termux-auth
注释如下;
openssh
- 远程服务vim
- 文本编辑器termux-auth
- 授权git
- Git服务
ssh服务
在手机上不方便操作的话,可以用电脑来连接操作手机的,
以下这篇文章有讲了,通过开启ssh服务来实现:
外部存储
考虑到旧手机的内部存储容量过小,不如用外部存储,
外置扩展SD卡容量是足够用了,但是要慎用(
SD卡质量差的话会有丢失数据风险),建议最好做定时备份
要让Termux能访问到外置存储,输入如下命令授权
termux-setup-storage
然后,在输入命令,查看是否有多了一个文件夹storage
,
cd ~ && ls
输入如下命令,打开这个文件夹storage
查看,看有一个是外部的存储目录
cd ~/storage/ && ls
创建仓库
例如你将来会保存的项目文件夹位置在~/storage/external-1/home/
,
打开项目文件夹后,再输入命令如下,创建仓库文件夹
git init --bare project1.git
project1.git
是仓库名,这不是文件,就是文件夹
克隆仓库
在home目录下,输入如下命令,指定仓库文件位置,为其创建一个链接文件(类似桌面的快捷方式)
ln -s ~/storage/external-1/home/project1.git project1.git
指向仓库文件的位置
~/storage/extener-1/home/project1.git
打开电脑的Git工具,试试克隆一个仓库,克隆仓库命令如下
git clone ssh://u0_a75@192.168.101.175:2222/~/project1.git
确保手机终端开启了ssh服务,
连接手机WiFi的IP就是192.168.101.175
;
u0_a75
是终端的用户名;
服务端口2222
,后面跟着的是指向文件路径/~/project1.git
;
到此,代码托管服务器就这样搭建好了
仓库文件夹
如果是第一次使用仓库的,可能想要仔细了解它的结构,
有好奇心吧,那就打开带后缀.git
的文件夹,输入命令查看
cd project1.git && ls
输出结果,仓库目录列出如下
- hooks :存放一些shell脚本
- info :存放一些信息
- objects :存放所有的git对象
- refs :存放最近一次提交的哈希值
- HEAD :一个引用文件
- description :一个描述信息文件
- config :一个配置文件
- … : 其它
那么问题来了,提交的项目文件都存放在哪里呢
应该是存在objects
文件夹中,打开看着里面不太像吧,
压缩的看不了,只能远程克隆下来看