我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Ubuntu上搭建git server的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Ubuntu上搭建git server的方法

这篇文章主要讲解了“Ubuntu上搭建git server的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Ubuntu上搭建git server的方法”吧!

1.安装配置git服务器

安装git: sudo apt-get install git-core
新加用户git,该用户将作为所有代码仓库和用户权限的管理者:

代码如下:


sudo useradd -m git
sudo passwd git


建立一个git仓库的存储点: sudo mkdir /home/repo
让除了git以外的用户对此目录无任何权限:

代码如下:


sudo chown git:git /home/repo
sudo chmod 755 /home/repo


PS:此处要把git仓库repo的属性设置成755,不然在gitweb中一直无法找到工程

2.安装配置gitosis

初始化一下服务器的git用户,这一步其实是为了安装gitosis做准备。在任何一 台机器上使用git,第一次必须要初始化一下:

代码如下:


git config –-global user.name “scorpio”
git config –-global user.email “zsw.scorpio@gmail.com”


安装一下python的setup tool, 这个也是为了gitosis做准备:

代码如下:


sudo apt-get install python-setuptools


获得gitosis包:

代码如下:


cd /tmp
git clone git://eagain.net/gitosis.git
cd gitosis
sudo python setup.py install


切换到git用户下:

代码如下:


su git


默认状态下,gitosis会将git仓库放在 git用户的home下,所以我们做一个链接到/home/repo

代码如下:


ln -s /home/repo /home/git/repositories


再次返回到默认用户

代码如下:


$ exit


如果你将作为git服务器的管理员,那么在你的电 脑上生成ssh公钥:

本地:ssh-keygen -t rsa

将公钥拷贝到服务器的/tmp下:

本地:scp .ssh/id_rsa.pub git@xxoo.com:/tmp

回到git服务器上

代码如下:


sudo chmod a+r /tmp/id_rsa.pub


让gitosis运行起来:

代码如下:


sudo -H -u git gitosis-init < /tmp/id_rsa.pub


gitosis的有趣之处在于,它通过一个git仓库来管理配置文件,仓库就放在了/home/repo/gitosis- admin.git。我们需要为一个文件加上可执行权限:

代码如下:


sudo passwd root</p><p>su</p><p>cd repositories</p><p>cd gitosis-admin.git/</p><p>sudo chmod 755 /home/repo/gitosis-admin.git/hooks/post-update</p><p>exit


3.在服务器上新建一个测试项目仓库
我们在服务器上新建一个空的项目仓库,叫“test”。

切换到git用户:

代码如下:


su git</p><p>cd /home/repo</p><p>mkdir test.git</p><p>cd test.git</p><p>git init &ndash;bare注:这是在服务器上运行的,是为了初始化一个根级的git仓库</p><p>exit


这只是一个空仓库,空仓库是不能clone下来的。我们必须先修改一下gitosis-admin.
4.管理gitosis的配置文件

gitosis本身的配置也是通过git来实现的。在你自己的开发机里,把gitosis-admin.git这个仓库clone下来,就可以以管理员的身份修改配置了。

在你的电脑里:

代码如下:


git clone git@xxoo.com:gitosis-admin.git</p><p>cd gitosis-admin/


该目录下的keydir目录是用来存放所有需要访问git服务器的用户的ssh公钥:

各个用户按照前面提到的办法生成各自的ssh公钥文件后,把所有人的 ssh公钥文件都拿来,按名字命名一下,比如b.pub, lz.pub等,统统拷贝到keydir下

修改gitosis.conf文件,我的配置大致如下:

代码如下:


[gitosis]</p><p>[group gitosis-admin]</p><p>members = zsw.scorpio@gmail.com</p><p>writable = gitosis-admin


加入新文件、提交并push到git服务器:

代码如下:


git add .</p><p>git commit -m “add”</p><p>git push origin master


5.初始化测试项目

好了,现在服务器就搭建完了,并且有一个空的项目test在服务器上。接下来测试一下,空仓库是不能clone的,以下是在客户端完成。

代码如下:


mkdir dev</p><p>cd dev/</p><p>git init</p><p>echo “” > hello</p><p>git add .</p><p>git commit -m “initial version”</p><p>git remote add origin git@xxoo.com:test.git</p><p>git push origin master


到此为止test已经有了一个版本了,其他成员只要先clone一下 teamwork仓库,就可以任意玩了。

代码如下:


git clone git@xxoo.com:test.git</p><p>cd teamwork</p><p>vim hello</p><p>git add .</p><p>git commit -a “b add”</p><p>git push origin master</p><p>exit


6.创建gitweb

代码如下:


sudo apt-get install gitweb


配置 gitweb

默认没有 css 加载,把 gitweb 要用的静态文件连接到

代码如下:


cd /var/www/</p><p>sudo ln -s /usr/share/gitweb/* .


修改配置

代码如下:


sudo vim /etc/gitweb.conf


将 $projectroot 改为git仓库存储目录(例如:/home/git/repositories),保存后刷新浏览器。

代码如下:


http://xxoo.com/cgi-bin/gitweb.cgi


7. 修改/etc/gitweb.conf 内容

代码如下:


# path to git projects (<project>.git)</p><p>#$projectroot = “/var/cache/git”;</p><p>$projectroot = “/home/git/repositories”;</p><p># directory to use for temp files</p><p>$git_temp = “/tmp”;</p><p># target of the home link on top of all pages</p><p>$home_link = $my_uri || “/”;</p><p># html text to include at home page</p><p>$home_text = “indextext.html”;</p><p># file with project list; by default, simply scan the projectroot dir.</p><p>$projects_list = $projectroot;</p><p># stylesheet to use</p><p>@stylesheets = (“/gitweb/static/gitweb.css”);</p><p># javascript code for gitweb</p><p>$javascript = “gitweb/static/gitweb.js”;</p><p># logo to use</p><p>$logo = “/gitweb/static/git-logo.png”;</p><p># the &lsquo;favicon&rsquo;</p><p>$favicon = “/gitweb/static/git-favicon.png”;</p><p># git-diff-tree(1) options to use for generated patches</p><p>#@diff_opts = (“-M”);</p><p>@diff_opts = ();


8.重启apache

代码如下:


sudo /etc/init.d/apache2 restart

感谢各位的阅读,以上就是“Ubuntu上搭建git server的方法”的内容了,经过本文的学习后,相信大家对Ubuntu上搭建git server的方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Ubuntu上搭建git server的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Ubuntu上搭建git server的方法

这篇文章主要讲解了“Ubuntu上搭建git server的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Ubuntu上搭建git server的方法”吧!1.安装配置git服务器安装g
2023-06-13

ubuntu 20.04上搭建LNMP环境的方法步骤

简单说明 由于之前是用Centos7搭建的,后来使用ubuntu 20.04的系统做为个人开发环境,所以想在ubuntu上也搭建一下环境,和Centos有一些小区别所以记录一下仅供学习。 安装前准备 下载软件: php:7.3.18 ngi
2022-06-04

Ubuntu 搭建LNMP环境的方法

本篇内容介绍了“Ubuntu 搭建LNMP环境的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!调出命令行界面,键入“cd /usr/lo
2023-06-13

Linux 搭建Git服务器的方法

安装Gityum install -y gitgit --version创建 Git 用户sudo adduser git// 设置密码 passwd git导入公钥find / -name authorized_keysvim /root
2022-06-04

在Ubuntu 16.04 Server上安装Zabbix的方法

监控服务器 - 什么是 Zabbix Zabbix 是企业级开源分布式监控服务器解决方案。该软件能监控网络的不同参数以及服务器的完整性,还允许为任何事件配置基于电子邮件的警报。Zabbix 根据存储在数据库(例如 mysql
2022-06-04

在CentOS7上搭建Jenkins+Maven+Git持续集成环境的方法

本文以部署 Spring boot + Maven 项目为例,使用码云作为代码托管仓库,在 CentOS 7 上搭建 Jenkins 持续集成环境。 1. 准备工作1.1 安装 java 环境Jenkins 是基于 Java 开发的持续集成
2022-06-04

ubuntu集群搭建的方法是什么

要搭建Ubuntu集群,可以按照以下步骤进行:1. 安装Ubuntu操作系统:在每个节点上安装Ubuntu操作系统。可以选择最新版本的Ubuntu Server。2. 配置网络:确保每个节点都能够相互通信,可以使用静态IP或DHCP来配置网
2023-09-21

Windows server 2012 R2双AD域搭建的方法

这篇文章主要介绍了Windows server 2012 R2双AD域搭建的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Windows server 2012 R2双AD域搭建的方法文章都会有所收获,下面
2023-06-30

ubuntu搭建本地源的方法是什么

搭建 Ubuntu 本地源的方法有以下几种:1. 使用 apt-mirror 工具:apt-mirror 是一个自动化下载 Ubuntu 软件源的工具,可以将软件源下载到本地服务器,并设置本地服务器作为软件源。首先需要安装 apt-mirr
2023-09-16

Git仓库搭建及分支管理的方法

这篇文章主要讲解了“Git仓库搭建及分支管理的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Git仓库搭建及分支管理的方法”吧!1. Git是什么?Git是一款开源的分布式版本控制系统,
2023-06-29

windows server 2008群集搭建的方法是什么

要搭建Windows Server 2008群集,可以按照以下步骤进行操作:1. 确保所有服务器满足最低系统要求,并安装Windows Server 2008操作系统。2. 在每台服务器上启用和配置网络适配器。3. 确保每台服务器的网络设置
2023-08-18

windows上php7环境搭建的方法

这篇“windows上php7环境搭建的方法”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“windows上php7环境搭建的方法”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章
2023-06-06

聊聊阿里 git 服务器搭建方法

阿里云是中国领先的云计算服务提供商,它的 Git 服务器搭建可以方便用户存储和管理 Git 仓库。在本文中,我们将介绍如何使用阿里云搭建 Git 服务器和一些使用 Git 服务器的实践方法。一、阿里云 Git 服务器搭建1、阿里云注册与登录
2023-10-22

浅析windows本地搭建git服务器的方法

随着Git的流行,越来越多的公司和个人开始使用Git进行版本控制。虽然有很多在线的Git托管服务如Github、Gitlab和Bitbucket,但是对于一些开发者来说,在本地搭建Git服务器是非常有必要的。本文就将介绍如何在Windows
2023-10-22

Ubuntu服务器上SSH Server的安装和设置方法

这篇文章主要讲解了“Ubuntu服务器上SSH Server的安装和设置方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Ubuntu服务器上SSH Server的安装和设置方法”吧!安装前
2023-06-13

在linux上搭建Solr集群的方法

什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,
2022-06-03

webpack-dev-server搭建本地服务器的实现方法

本篇内容介绍了“webpack-dev-server搭建本地服务器的实现方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录前言webpa
2023-06-20

ubuntu安装git的方法是什么

在Ubuntu上安装Git可以通过以下步骤进行:打开终端,可以使用快捷键`Ctrl+Alt+T`来打开终端。更新系统软件包列表,通过运行以下命令:sudo apt update安装Git,通过运行以下命令:sudo apt install
2023-10-24

Spark在Ubuntu上的多租户环境搭建

在Ubuntu上搭建Spark的多租户环境需要考虑多个方面,包括集群管理、资源隔离、安全性和服务配置等。以下是一个基本的步骤指南,帮助你搭建一个基本的多租户Spark环境:1. 安装和配置Spark首先,确保你的Ubuntu系统已经安装
Spark在Ubuntu上的多租户环境搭建
2024-10-22

怎么在Dropbox上搭建私有的Git仓库

本篇内容介绍了“怎么在Dropbox上搭建私有的Git仓库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!思路我们的思路是在Dropbox客户
2023-06-12

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录