CentOS 上安装 GIT 服务
获取 YUM 中 GIT 信息:
yum info git
查看当前 GIT 的版本:
git --version
或
git version
卸载当前版本的 GIT:
yum remove git
再次查看当前 GIT 的版本,发现已不再显示 GIT 版本了,说明已卸载成功;
创建 git 目录,用于安装 GIT:
mkdir -p git
安装 GIT 的依赖库(如果已安装则可以略过):
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
查看系统用户组:
cut -d: -f1 /etc/group
其中的 -d:指定字段的分隔符,默认的字段分隔符为“TAB”;
-f:显示指定字段的内容;
查看系统用户:
cut -d: -f1 /etc/passwd
下载 git-2.9.4.tar.gz:
wget https://www.kernel.org/pub/software/scm/git/git-2.9.4.tar.gz
将下载的 git-2.9.4.tar.gz 解压:
tar -xzvf git-2.9.4.tar.gz
进入到 git-2.9.4 目录中:
cd git-2.9.4
编译 GIT 源码:
make prefix=/usr/local/git all
安装 GIT 到 /usr/local/git 目录中:
make prefix=/usr/local/git install
为上传命令添加软链接:
ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack
为接收命令添加软链接:
ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack
为 GIT 命令添加软链接:
ln -s /usr/local/git/bin/git /usr/bin/git
打开环境变量文件 profile :
vim /etc/profile
在 profile 文件末尾添加如下命令:
export PATH="/usr/local/git/bin:$PATH"
使环境变量配置文件即可生效:
source /etc/profile
这时我们再看一下 git 的版本:
git --version
已经输出为:
git version 2.9.4
创建名为 git 的用户组:
groupadd git
创建名为 git 的用户并加入到 git 用户组中:
useradd git -g git
其中的第一个 git 是用户名,第二个 git 是用户组名,-g 表示加入用户组
查看已创建的 git 用户组:
cut -d: -f1 /etc/group | grep git
查看已创建的 git 用户:
cut -d: -f1 /etc/passwd | grep git
为用户 git 设置密码:
passwd git
根据提示输入密码,这里设置的为 123456,主要用于测试。
切换到 git 用户:
su - git
进入到 /home/ 目录中:
cd /home/
此时我们位于 /home/ 目录中;
为用户 git 创建“专属用户目前” git 并进入到其中:
mkdir -p git
cd git
此时我们位于 /home/git/ 目录中;
在 git 目录中创建隐藏目录 .ssh 并进入到其中:
mkdir -p .ssh
cd .ssh
此时我们位于 /home/git/.ssh 目录中;
为用户 git 创建公钥和私钥:
ssh-keygen -t rsa
执行成功会打印 Generating public/private rsa key pair.
根据提示输入两次密码,成功后会打印如下信息:
Your identification has been saved in /home/git/.ssh/id_rsa.
Your public key has been saved in /home/git/.ssh/id_rsa.pub.
这指明了当前用户 git 的公钥和私钥的存放位置;
创建 authorized_keys 文件:
touch authorized_keys
将生成的公钥 id_rsa.pub 文件中的内容复制到 authorized_keys 目录中,注意一个用户占一行,不可有空格,这样对于当前用户 git 就对 GIT 服务有了拉取和推送数
据的权限了;同理,在其它用户的 .ssh 文件夹下生成的公钥加入到 authorized_keys 文件中(另起一行,一个用户占一行,不可有空格),那么其它用户也就有了对 GIT 服务
的拉取与推送数据的权限,从而不需要再输入密码;
注意:
.ssh 文件夹的权限必须为 700
chmod 700 .ssh
authorized_keys 文件的权限必须为 600
authorized_keys
chmod 600 .ssh/authorized_keys
初始化名为 test_repository 的 git 测试库:
git init --bare test_repository.git
输出
Initialized empty Git repository in /home/git/test_repository.git/
则表示初始化名为 test_repository 库成功,这是个空库;
为 git 用户克隆一个库:
git clone git@192.168.82.208:test_repository.git
我们也可以通过 Eclipse 远程连接 GIT 服务,在 Eclipse 的 Git Repositories 试图中直接粘贴 git@192.168.82.208:test_repository.git
即可;
备注:
为指定用户创建公钥和私钥:
ssh-keygen -t rsa -C git
其中的 git 为用户名;
来源于:http://www.joyupx.com/test1/210
最新文章
- 如何把select默认的小三角替换成自己的图片
- 【React】Stateless Function
- Distribution1:Distribution Reader
- java.lang.RuntimeException: Method setUp in android.test.ApplicationTestCase not mocked. See http://g.co/androidstudio/not-mocked for details.
- 玩转Java对象和XML相互转换
- Zigbee技术特点
- XPath学习:parent,child
- Sql Server 数据库之间如何进行跨网远程连接访问
- unity3d学习笔记(十九)--ngui制作3d人物头顶的头像和血条
- Joomla 二次开发 学习笔记
- leetcode第20题--Valid Parentheses
- PHP 设计模式阅读清单
- Android使用Mob ShareSDK 分享不同平台
- 安装和使用 memcached
- SQL server 的身份验证模式
- [OpenCV] Samples 17: Floodfill
- 17秋 SDN课程 第三次上机作业
- VMware ESXi 配置小结
- LINUX常用命令大全归纳篇
- 运维不得不知的 Linux 性能监控、测试、优化工具
热门文章
- Hyperledger Fabric java chaincode 编译部署(1.4V)
- 说Gradle
- [Shell]Shell学习笔记之for
- Mybatis学习笔记(七) —— 关联查询
- 如何查看mysql执行的所有SQL
- Tomcat常见问题
- case when null then 'xx' else 'yy' end 无效
- 复制虚拟机出现”适配器 的mac地址在保留地址范围内‘’
- Python练习六十:网页分析,找出里面的正文与链接
- C++容器嵌套实现动态二维数组(Vector2D)