搭建Git服务器教程(整理自腾讯云开发者实验室)
搭建Git服务器教程(整理自腾讯云开发者实验室)
下载安装 Git
Git 是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
此实验以 CentOS 7.2 x64 的系统为环境,搭建 git 服务器。
安装依赖库和编译工具
为了后续安装能正常进行,我们先来安装一些相关依赖库和编译工具yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
安装编译工具
yum install gcc perl-ExtUtils-MakeMaker
下载 Git
选一个目录,用来放下载下来的安装包,这里将安装包放在 /usr/local/src 目录里
cd /usr/local/src
到官网找一个新版稳定的源码包下载到
/usr/local/src文件夹里wget https://www.kernel.org/pub/software/scm/git/git-2.10.0.tar.gz
解压和编译
解压下载的源码包
tar -zvxf git-2.10.0.tar.gz
解压后进入 git-2.10.0 文件夹
cd git-2.10.0
执行编译
make all prefix=/usr/local/git
编译完成后, 安装到
/usr/local/git目录下make install prefix=/usr/local/git
配置环境变量
将 git 目录加入 PATH
将原来的 PATH 指向目录修改为现在的目录
echo ‘export PATH=$PATH:/usr/local/git/bin’ >> /etc/bashrc
生效环境变量
source /etc/bashrc
此时我们能查看 git 版本号,说明我们已经安装成功了。
git –version
创建 git 账号密码
创建 git 账号
为我们刚刚搭建好的 git 创建一个账号
useradd -m gituser
然后为这个账号设置密码 (控制台输入创建密码后,输入您自定义的密码,并二次确认。)
passwd gituser
初始化 git 仓库并配置用户权限
创建 git 仓库并初始化
我们创建 /data/repositories 目录用于存放 git 仓库mkdir -p /data/repositories
创建好后,初始化这个仓库
cd /data/repositories/ && git init –bare test.git
配置用户权限
给 git 仓库目录设置用户和用户组并设置权限
chown -R gituser:gituser /data/repositories
chmod 755 /data/repositories查找 git-shell 所在目录(如果按照刚才的步骤执行, 这个位置应该是
/usr/local/git/bin/git-shell, 否则请通过which git-shell命令查看位置) , 编辑/etc/passwd文件,将最后一行关于 gituser 的登录 shell 配置改为 git-shell 的目录 (安全目的, 限制 git 账号的 ssh 连接只能是登录 git-shell), 如下:示例代码:/etc/passwd
gituser:x:500:500::/home/gituser:/usr/local/git/bin/git-shell
使用搭建好的 Git 服务
克隆 test repo 到本地
cd ~ && git clone gituser@<您的 CVM IP 地址>:/data/repositories/test.git
实验完成
恭喜,Git 服务器搭建完成, 从此以后你可以方便地将你的本地代码提交到 Git 服务器托管了。
搭建Git服务器教程(整理自腾讯云开发者实验室)的更多相关文章
- Centos搭建 Git 服务器教程
搭建 GIT 服务器教程 下载安装 git Git 是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 此实验以 CentOS 7.2 x64 的系统为环境,搭建 git 服 ...
- 来腾讯云开发者实验室 学习.NET Core 2.0
腾讯云开发者实验室为开发者提供了一个零门槛的在线实验平台,开发者实验室提供的能力: 零门槛扫码即可免费领取实验机器,支持使用自有机器参与,实验完成后支持保留实验成果: 在线 WEB IDE 支持 sh ...
- 来腾讯云开发者实验室 学习.NET
腾讯云开发者实验室为开发者提供了一个零门槛的在线实验平台,开发者实验室提供的能力: 零门槛扫码即可免费领取实验机器,支持使用自有机器参与,实验完成后支持保留实验成果: 在线 WEB IDE 支持 sh ...
- Windows平台使用Gitblit搭建Git服务器教程
Windows平台使用Gitblit搭建Git服务器图文教程 Git服务现在独树一帜,相比与SVN有更多的灵活性,最流行的开源项目托管网站Github上面,如果托管开源项目,那么就是免费使用的,但是闭 ...
- TortoiseGit - Win7使用Gitblit搭建Git服务器教程
第一步:下载Java并且安装 第二步:配置Java环境变量环境变量 --> 系统变量1新建:变量名:JAVA_HOME变量值:D:\Program Files (x86)\Java\jdk1.6 ...
- 在windows上搭建git服务器教程
1.首先,需要确保windows系统上安装并配置了Java运行环境,JDK>=1.7. 2.下载Gitblit,下载地址:http://www.gitblit.com/ 3.解压缩下载的压缩包即 ...
- 搭建 GIT 服务器教程
- Windows平台使用Gitblit搭建Git服务器图文教程
Git服务现在独树一帜,相比与SVN有更多的灵活性,最流行的开源项目托管网站Github上面,如果托管开源项目,那么就是免费使用的,但是闭源的项目就会收取昂贵的费用,如果你不缺米,那么不在本文讨论的范 ...
- Windows平台上使用Github搭建Git服务器的图文教程
Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到通信协议,例如SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以 ...
- Windows平台下搭建Git服务器的图文教程
Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...
随机推荐
- C++ 一个简洁的CHECK宏
#define CHECK2(condition, message) \ (!(condition)) ? (std::cerr << "Assertion failed: (& ...
- requests模块/openpyxl模块/简单爬虫实战
内容概要 第三方模块的下载及使用 网络爬虫及requests模块 网络爬虫实战爬取二手房信息 自动化办公领域模块openpyxl 练习题及答案 第三方模块的下载 第三方模块就类似与别人写好的模块,我们 ...
- MySQL 的 NULL 值是怎么存储的?
大家好,我是小林. 之前有位读者在面字节的时候,被问到这么个问题: 如果你知道 MySQL 一行记录的存储结构,那么这个问题对你没什么难度. 如果你不知道也没关系,这次我跟大家聊聊 MySQL 一行记 ...
- hexo-gitalk-评论自动初始化
第一步 申请Personal Access Token 从 Github 的 Personal access tokens 页面,点击 Generate new token 第二步 安装项目依赖 np ...
- 【Java SE】Day03流程控制语句
一.流程控制(顺序结构) 二.选择结构 1.多分支中case的穿透性 2.switch的括号可以是 基本/引用类型(String.enum枚举) 三.循环结构 for循环结束后内存消失,效率高 四.扩 ...
- 【每日一题】【遍历orSet】2022年2月1日-NC66 两个链表的第一个公共结点
描述输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空.(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) 输入描述:输入分为是3段,第 ...
- 利用python数据分析
利用python进行数据分析 本书由Python pandas项目创始人Wes McKinney亲笔撰写,详细介绍利用Python进行操作.处理.清洗和规整数据等方面的具体细节和基本要点.第2版针对P ...
- python函数及算法
算法二分法 二分算法图 什么是算法? 算法是高效解决问题的办法. 需求:有一个按照从小到大顺序排列的数字列表,查找某一个数字 # 定义一个无序的列表 nums = [3,4,5,67,8,9,12 ...
- plsql developer切换用户
方法1: 1.双击plsql developer桌面软件图标启动软件 2.在连接窗口中填写连接信息,连接数据库 3.在新建窗口下拉选项中,选择命令窗口功能 4.在工作区内会出现当前用户连接数据库的窗口 ...
- vue 组件之间传值(父传子,子传父)
1.父传子 基本就用一个方式,props Father.vue(用v-bind(简写 : ) 将父组件传的值绑定到子组件上) <template> <div> 我是爸爸:{{ ...