自建git仓库
Git 是一个开源的分布式版本控制系统,本节将为大家介绍如何在海纳思系统里创建一个 Git 仓库。
安装和卸载
安装
海纳思系统为大家制作了完整的一个搭建 Git 仓库安装包gieweb-histb.deb
在终端中输入如下命令即可安装完成:
sudo apt-get update
sudo apt-get install gitweb-histb -y
安装完成后,首页的内网选项页就会增加一个图标,点击进去即可
卸载
在终端中输入如下命令即可卸载:
sudo apt-get purge gitweb-histb -y
sudo apt-get autoremove -y
使用
有很多种 用户名
使用方案,我们提供了其中一种, root
用户的使用方案。
1.配置文件和位置
- nginx的配置文件在
/etc/nginx/sites-available/nginx_gitweb
- git仓库根目录在
/var/lib/git
2.建立新仓库
终端输入如下命令可以建立一个新的仓库(例如 abc
):
mkdir -p /var/lib/git/abc.git
cd /var/lib/git/abc.git
git init --bare
echo "这是abc仓库" > description
3.克隆网络上的git仓库
例如把github上的某个仓库 sample.git
克隆下来,作为你自己的一个副本
cd /var/lib/git
git clone --bare https://github.com/zhangsan/sample.git
4.将本地的仓库内容上传到新建的 abc
仓库
git remote add origin root@192.168.111.155:/var/lib/git/abc.git
git push -u origin master
5.将海纳思git仓库的项目 abc
拉取到本地
注意,这里的192.168.111.155是指你的盒子 IP ;
git clone root@192.168.111.155:/var/lib/git/abc.git
6.另一种简易的拉取海纳思git仓库 abc
的方法
注意,这里的192.168.111.155是指你的盒子 IP ;
git clone http://192.168.111.155:8011/clone/abc.git
为什么作者做这个方案?因为这样,如果用户有公网IP或者穿透域名到8011端口,
用户就可以远程 git clone 啦!体贴吧。
7.删除仓库 abc
rm -rf /var/lib/git/abc.git
将仓库存储空间迁移到外置硬盘
为了更大的存储空间,迁移到外置的硬盘,比如 /mnt/sda1
在挂载的硬盘里建立文件夹 gitweb
mkdir -p /mnt/sda1/gitweb
只需要修改几处配置文件即可:
1.修改配置文件: /etc/gitweb.conf
将第2行的 $projectroot = "/var/lib/git";
修改为: $projectroot = "/mnt/sda1/gitweb";
2.修改nginx文件 /etc/nginx/sites-available/nginx_gitweb
将第24行的 fastcgi_param GIT_PROJECT_ROOT /var/lib/git;
修改为: fastcgi_param GIT_PROJECT_ROOT /mnt/sda1/gitweb;
3.如果原来已经有的仓库需要迁移,就拷贝过去
cp -ar /var/lib/git/* /mnt/sda1/gitweb/
4.最后,重启一次机顶盒
注意事项
等待群友体验和反馈