Centos搭建Git服务

前端之家收集整理的这篇文章主要介绍了Centos搭建Git服务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、安装Git

-bash-4.1#yum install git

安装完之后,查看 Git 版本
-bash-4.1# git --version
git version 1.7.1

二、服务器端创建git用户,用来管理Git服务,并未git用户设置密码

-bash-4.1#id git // 查看git用户是否已存在

id: git: No such user

-bash-4.1# useradd git // 新增用户git

-bash-4.1# passwd git // 给用户git设置密码

以上操作完成后,/home目录会多出一个git目录。

三、服务端创建Git仓库

-bash-4.1# mkdir -p/home/git/test.git // 创建一个服务器仓库目录,必须以.git结尾,此处参数-p会自动创建给定路径的所有目录,例:如git目录不存在,则会自动创建

-bash-4.1# git init --bare test.git // 初始化仓库

Initialized empty Git repository in /home/git/test.git/

-bash-4.1# cd /home/git/

-bash-4.1# chown -R git:git test.git // chown命令更改文件夹拥有者,chown[-R]账号名称:用户名称文件目录

四、客户端clone远程仓库

C:\Users\xxx>git clone git@45.62.*.*:/home/git/test.git
Cloning into 'test'...
ssh: connect to host 45.62.*.* port 22: Connection refused
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

这时候报错了,在网上搜了下,这里如果不指定端口号的话,git会默认去找22端口,而我的服务器SSH端口已经改了,那么如何指定端口号呢?

采用如下格式:

git clone ssh://git@hostname:port/.../xxx.git

C:\Users\xxx>git clone ssh://git@45.62.*.*:888/home/git/test.git
Cloning into 'test'...
git@45.62.*.*'s password:
remote: Counting objects: 5,done.
remote: Compressing objects: 100% (3/3),done.
remote: Total 5 (delta 0),reused 0 (delta 0)
Receiving objects: 100% (5/5),419 bytes | 0 bytes/s,done.

git init --bare和git init的区别:

git init --bare xxx.git用于在服务端建立仓库,该命令生成一系列文件,用于版本库历史记录。


这个仓库只保存历史提交的版本信息,你在服务端上无法直接对这个仓库进行操作,只能在客户端clone这个仓库,然后在本地进行操作,commit到服务端仓库。如果你在服务端强行进行git操作,那么就会出现下面的提示

-bash-4.1# git add .
fatal: This operation must be run in a work tree

git init 用于在客户端建立仓库,该命令生成.git目录以及其下的版本历史记录文件,这些版本历史记录文件就存放在.git目录下。

猜你在找的CentOS相关文章