如何搭建Git服务器
本文将介绍如何在Linux系统上搭建Git服务器以及查看Git提交记录。
搭建Git服务器
首先,我们需要一台Linux服务器,作为Git服务部署的机器,一般选用Ubuntu或者Debian,请确保拥有sudo
权限并且联网。笔者以Mac电脑上的虚拟机为例,系统为Ubuntu 16.04。
我们先安装Git,命令如下:
$ sudo apt-get install git
然后,创建一个git用户,用来运行git服务:
$ sudo adduser git
接着,创建证书登录。收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub
文件,把所有公钥导入到/home/git/.ssh/authorized_keys
文件里,一行一个。注意,有可能在/home/git中没有.ssh文件夹,可以自行创建.ssh文件夹和authorized_keys文件,如果遇到权限问题,直接用sudo操作即可。笔者将自己Mac电脑的公钥放在虚拟机的Ubuntu系统中的
/home/git/.ssh/authorized_keys
文件里。
然后,我们创建一个示例的Git仓库(空仓库),假定是/srv/sample.git
,在/srv
目录下输入命令:
$ sudo git init --bare sample.git
并把然后,把owner改为git
:
$ sudo chown -R git:git sample.git
创建过程如下图:
最后,我们禁止git用户登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
以上为Git服务器搭建的过程,同时我们在Git服务器上创建了一个新的空仓库sample.git
。
Git服务器使用
首先确保客户机(笔者自己的Mac电脑)能访问搭建Git服务器的Linux机器(本文中是虚拟机Ubuntu系统)。笔者的虚拟机IP为192.168.0.106,在客户机上(笔者自己的Mac电脑)利用下面的git clone
命令下载sample.git
项目。
$ git clone git@192.168.0.106:/srv/sample.git
我们利用PyCharm进行两次提交,第一次提交README.md文件,文档内容为"Hello from Git Server!",第二次在此基础上新增test.txt文件,文档内容为"2020-05-18 10:25:00"。至于如何用PyCharm提交,可以参考文章:利用PyCharm操作Github:仓库新建、更新,代码回滚 。截图如下:
这时候我们再进入虚拟机(Git服务器)中去查看/srv/sample.git
,内容如下:
可以用git log
命令查看当前分支的提交记录,如下图:
可以看到,我们在客户机上提交了两次以及每次的Commit Message。切换到某次具体的提交,可以用git show
命令查看提交的内容,如下图:
当然还有很多高级的操作,这里不再介绍。
如果我们想要在网页中像Gitlab那样可视化地查看提交记录,可以借助git instaweb
命令,该命令默认配置的WEB服务器软件为lighttpd
,如果Git服务器上没有安装,可以使用下面的命令安装:
$ sudo apt-get install lighttpd
接着我们切换至/srv/sample.git
,使用下面的命令启动git的WEB查看服务:
$ sudo git instaweb --httpd=lighttpd
在Firefox中输入网址:http://127.0.0.1:1234,即可见到页面如下:
在这个网址中,我们可以像Gitlab一样方便地查看samplt.git的提交记录,虽然功能不如Gitlab强大。
总结
如果团队很小,把每个人的公钥收集起来放到服务器的/home/git/.ssh/authorized_keys文件里就是可行的。如果团队有几百号人,就没法这么玩了,这时,可以用Gitosis来管理公钥。另外,如果想在离线环境下也使用Git来管理代码,上述方法也是可行的。
参考文献
- 搭建Git服务器:https://www.liaoxuefeng.com/wiki/896043488029600/899998870925664
- git instaweb命令:https://git-scm.com/docs/git-instaweb
如何搭建Git服务器相关推荐
- centos7 下搭建git服务器
总的来说,搭建git和svn形式差不多 1.首先要在服务器安装git环境,创建用户密码和仓库等 2.然后个人主机(基本是window)安装git客户端 3.将个人主机客户端的秘钥写到git服务器的一个 ...
- 搭建Git服务器教程转载
1. 在Windows下使用ssh+msysgit客户端搭建Git服务器 http://www.codeproject.com/Articles/296398/Step-by-Step-Setup-G ...
- git进入项目目录 windows_Windows下搭建Git服务器
Windows平台下搭建Git服务器的图文详解及教程 Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不 ...
- 自建git服务器连接Pycharm系列二:在centos7上搭建git服务器
在自己的Linux虚拟机上,搭建git服务器,用来保存代码. centos7本身自带git,需要先卸载,安装成较新的版本. 1.卸载系统自带版本 系统已经自带 [root@dscrapy01 ~]# ...
- CentOs上搭建git服务器
CentOs上搭建git服务器 首先安装setuptools wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0 ...
- Windows下Git的安装和基本使用、搭建Git服务器
1 Git的安装和基本使用 安装完成桌面有个Git Bash图标: 弹出Git Bash:用 git init 在目录中创建新的 Git 仓库:下面在G:/git2/test1目录创建: 创建完成会有 ...
- CentOS7搭建Git服务器
CentOS7搭建Git服务器 文章目录 CentOS7搭建Git服务器 前言 搭建步骤 参考链接 前言 现有一台操作系统为CentOS 7的服务器,要将其作为代码库服务器使用,要求使用Git进行代码 ...
- Windows 使用 Gogs 搭建 Git 服务器
随便说两句 之前有使用 Gitblit 在Windows搭建Git服务器,用的也挺好的,可能安装起来略麻烦一点.现在全用 Gogs 在windows搭建Git服务器,主要是因界面好看,管理更方便一些. ...
- centos 搭建git服务器
首先服务器需安装git 参考链接:https://www.cnblogs.com/-mrl/p/11045998.html 搭建git服务器 1.新建git仓库主目录,可以选择创建在/data目录下. ...
- Windows平台使用Gitblit搭建Git服务器图文教程
Git服务现在独树一帜,相比与SVN有更多的灵活性,最流行的开源项目托管网站Github上面,如果托管开源项目,那么就是免费使用的,但是闭源的项目就会收取昂贵的费用,如果你不缺米,那么不在本文讨论的范 ...
最新文章
- 阿尔法大蛋智能机器人功能_恭喜,全球首台智能洗车机器人“阿尔法”终于上线啦...
- 打游戏要存进度-备忘录模式
- Linux 系统应用编程——多线程经典问题(生产者-消费者)
- python的print输出_python中的print()输出
- C/C++语言里的near和far是什么意思?
- 11门满分、10门99分、47门超95分……他却说自己是“学zha”
- 视频APP软件开发功能架构
- 对比度 css_更好的颜色和对比度可访问性CSS技巧
- 瞬时视场、识别距离、mrtd
- 新浪微博、中关村、蘑菇街、微信、国美、苏宁等各大网站登录js解密例子!
- Python机器学习04——惩罚回归
- Spring基础----相关类
- ASM磁盘空间假装耗尽,ORA-15041: diskgroup space exhausted
- 工作时间如何安排:集中注意力的方法
- c语言零基础入门(经验总结)
- P3224 [HNOI2012]永无乡 FHQ-Treap 启发式合并
- “第五空间”智能安全大赛部分WP
- Displaytag 使用简介
- 将 top命令执行结果输出到文件
- 工程管理系统源码-专注项目数字化管理
热门文章
- java计算机毕业设计学习社区管理系统源码+数据库+系统+lw文档+部署
- java证书加解密过程
- 好用的系统检测工具与硬盘检测工具
- 数据库高级应用学习报告【T-sql】
- emoji表情符号有时不能正常显示的问题的解决方案
- 《工程电磁场》学习笔记1-静电场
- 小米M2 M2S刷机包电信版/AOSB/4.4.4/归属地/分屏/稳定版/截图
- Python基础系列N讲 | 1500字详解Anaconda安装教程(附安装包)
- 数据分析-PART4--数据分析方法
- 腾讯视频互动直播TUIPusherTUIPlayer集成体验