在Linux下搭建Git服务器的方法详解

作者:juneshen 时间:2022-02-05 16:35:10 

前言

GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。

我打算自己搭建git服务器。虽然目前已经有很不错的git工具,如github,coding.net等,但是为了安全,减少限制和开销,还是放在自己的服务器为好。下面给出安装配置的过程,有问题欢迎讨论和交流,我会及时回复的。

第一步

安装git:可以通过命令的方式快速安装,不同的linux的安装方法可能不一样,我的是采用的yum方法。ubuntu可以用apt-get命令。


sudo yum install git

第二步

添加git用户,因为git服务器只限定来做项目代码交流的,专门开出一个用户来访问git服务器,比较好管理和控制。


sudo adduser git

第三步

设置git用户的登陆密码。因为git提供ssh协议登陆功能,网上有的采用了存储客户端rsa_pub密码的方式来免密登陆,但是我按照这个方法存储了公钥文件,修改了ssh的配置,改了文件的权限,最后实际测试都不可以,还是在git访问时提示输入密码。所以干脆就自己设置一个密码吧,也安全一些。工作量和需要用户把公钥文件发给管理员是一样。


passwd git

第四步

设置git登陆用户的权限。为了使git远程登陆时,只允许使用git-shell命令,需要修改/etc/passwd文件找到git:x:500:500:,,,:/home/git:/bin/bash这一行,一般是在最后一行,改为git:x:500:500:,,,:/home/git:/usr/bin/git-shell 注意数字根据你的电脑的实际情况,可能是不一样的数字。经过以上简单的步骤,已经搭建好了git的环境了。

下面是git项目的创建了第四步:创建仓库。可以根据已有项目文件目录来创建,方法是先进入到项目根目录。

然后输入以下命令


sudo git init

第五步

修改生成的.git文件的属主为git用户


sudo chown -R git:git .git

第六步

以上只是创建了一个空仓库,需要把项目文件加入进去。以下命令是git常用操作命令,属于git的使用方法了。有兴趣的可以自己去学习相关命令


git add .

git commit -a -m "init a git project "

经过以上步骤,服务器端的git项目仓库已经建立好。其他人可以clone下git服务器的项目文件到本地了。但是需要首先在自己的客户端安装git-shell工具。对于已经安装了github客户端的朋友,可以直接用它的Git Shell终端下搭建git是很容易。


git clone <a target=_blank href="mailto:git@host-IP:/your-git-repository">git@host-IP:/your-git-repository</a>

总结

其实搭建Git服务器非常简单,通常10分钟即可完成。以上就是这篇文章的全部内容,希望本文的内容对啊大家的学习或者工作能带来一定的帮助。

标签:git,服务器,linux
0
投稿

猜你喜欢

  • python静态方法实例

    2023-02-17 12:03:22
  • Python微信库:itchat的用法详解

    2022-02-17 10:54:33
  • Python实现轻松切割MP3文件

    2023-09-23 21:40:32
  • ASP Access实现网站计数器(访问量)

    2011-04-10 10:33:00
  • python 实时遍历日志文件

    2021-03-30 09:26:20
  • 解决Django layui {{}}冲突的问题

    2023-07-23 15:22:18
  • python实现批量修改图片格式和尺寸

    2021-02-12 10:47:35
  • Python的@property的使用

    2021-03-27 11:02:25
  • Javascript优化(文件瘦身)

    2008-06-02 13:20:00
  • Python中的二叉树查找算法模块使用指南

    2022-02-23 00:51:06
  • Python+unittest+requests+excel实现接口自动化测试框架

    2021-09-08 07:04:49
  • Python+Appium新手教程

    2022-12-01 04:12:44
  • python通过ssh-powershell监控windows的方法

    2021-07-24 03:55:16
  • python多进程实现文件下载传输功能

    2022-06-27 02:22:41
  • python实现自动发送邮件发送多人、群发、多附件的示例

    2023-01-13 22:24:32
  • Python抓取移动App数据使用mitmweb监听请求与响应

    2022-03-24 21:09:29
  • SQL Server与Oracle数据库在查询优化上的差异

    2009-02-18 14:28:00
  • oracle SQL解析步骤小结

    2009-09-30 10:46:00
  • 百万行WPF项目代码重构记录分析

    2023-12-30 23:00:28
  • Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题

    2022-03-27 17:21:42
  • asp之家 网络编程 m.aspxhome.com