在CentOS搭建Git服务器 转

在CentOS搭建Git服务器

来自 :http://www.jianshu.com/p/69ea5ded3ede

前言

我们可以GitHub发布一些开源代码的公共仓库,但对于私密仓库就需要收费了。公司内部通常会搭建自己的Git服务器,我也通过在自己的服务器上搭建练习一下。



开始前先说一下服务器信息,这里是阿里云的CentOS 6.5 64位操作系统。


一 确认服务器是否安装Git

[[email protected] git]# rpm -qa git
git-1.7.1-3.el6_4.1.x86_64

这里也已经安装过了,如果没有安装可以用yum install git 安装。

二 创建git用户

这里你可以选择新建一个用户来测试,也可以直接使用你的root进行以下操作。笔者也是看着资料一步一步来的,这里创建一个新用户teslachen进行操作。
[[email protected] ~]# useradd tesla
[[email protected] ~]# passwd tesla
更改用户 tesla 的密码 。
新的 密码:
无效的密码: 它没有包含足够的不同字符
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。

注1:创建用户权限不够请加上sudo;
注2:设置用户密码太过简单的话会有提示,但依旧可以设置成功。

三 生成ssh公钥

许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。
linux 可以在本机运行ssh-keygen -t rsa生成密钥,把.pub文件拷到服务器上。
[[email protected] ~]# su tesla
[[email protected] root]$ cd ~
[[email protected] ~]$ mkdir .ssh
[[email protected] ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tesla/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/tesla/.ssh/id_rsa.
Your public key has been saved in /home/tesla/.ssh/id_rsa.pub.
The key fingerprint is:
13:bf:75:ba:67:7f:0e:a0:47:7a:fe:25:bc:81:85:c3 [email protected]
The key‘s randomart image is:
+--[ RSA 2048]----+
| |
| |
| . |
| o . . |
| S . E o |
| . O |
| + = = .|
| + .o
.|
| o+oo+|
+-----------------+
[[email protected] ~]$ cd .ssh/
[[email protected] .ssh]$ cat id_rsa.pub >> ~/.ssh/authorized_keys
exit

四 添加tesla到sudoers文件

tesla用户现在对一些文件夹没有操作权限,修改/etc/sudoers文件来改变他的权限。最高管理员用户用下面命令打开。
[[email protected] ~]# visudo
然后我们在vim中找到下面这行

root ALL=(ALL) ALL

按i键开始插入,回车一下在下面一行加上

tesla ALL=(ALL) ALL

接着按下esc键,输入 :wq ,回车保存退出

五 创建Git代码仓库

[[email protected] ~]# mkdir /teslaRepo
[[email protected] ~]# cd /teslaRepo/
[[email protected] teslaRepo]# sudo mkdir teslaProject.git
[[email protected] teslaRepo]# chown tesla:tesla /teslaRepo/
[[email protected] teslaRepo]# chown -R tesla:git /teslaRepo/
[[email protected] teslaRepo]# cd teslaProject.git/
[[email protected] teslaProject.git]# sudo git --bare init
Initialized empty Git repository in /teslaRepo/teslaProject.git/

这样一个叫teslaProject得Git仓库就创建好了

六 本地测试使用

你可以直接在服务器上进行本地测试,也可以直接用你的电脑来测试。下面我是使用自己的MBP来进行的测试。
localhost:~ okay$ cd Desktop/git/
localhost:git okay$ mkdir teslaRepo
localhost:git okay$ cd teslaRepo/
localhost:teslaRepo okay$ git init
Initialized empty Git repository in /Users/okay/Desktop/git/teslaRepo/.git/
localhost:teslaRepo okay$ git remote add origin [email protected]:/teslaRepo/teslaProject.git

上面的命令在本地创建了一个文件夹并添加了服务器上的远程仓库
localhost:teslaRepo okay$ touch a.txt
localhost:teslaRepo okay$ git add a.txt
localhost:teslaRepo okay$ git commit -m "init commit"
[master (root-commit) d14cd3b] init commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a.txt

上面的命令在本地创建了一个a.txt并在本地提交了一次
localhost:teslaRepo okay$ git push origin master
[email protected]‘s password:
Counting objects: 3, done.
Writing objects: 100% (3/3), 202 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To [email protected]:/teslaRepo/teslaProject.git
* [new branch] master -> master

上面的命令将本地代码push到远程服务器上去了,下面我们在本地clone一次看下是否正确

七 本地clone

localhost:git okay$ mkdir ttt
localhost:git okay$ cd ttt
localhost:ttt okay$ git clone [email protected]:/teslaRepo/teslaProject.git
Cloning into ‘teslaProject‘...
[email protected]‘s password:
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
Checking connectivity... done.

clone完成,让我们看一下文件夹目录

Slice 1.png

之前push到服务器上的a.txt文件已经被clone下来

时间: 2024-10-24 17:14:38

在CentOS搭建Git服务器 转的相关文章

CentOS搭建Git服务器及权限管理

声明:本教程,仅作为配置的记录,细节不展开,需要您有一点linux的命令基础,仅作为配置参考. 1. 系统环境 系统: Linux:CentOS 7.2 64位 由于CentOS已经内置了OpenSSH,如果您的系统没有,请自行安装. 查看ssh版本 $ ssh -V # 输出以下表示没问题,可以继续. 版本可能不一致,能用即可. OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013 避免系统环境和其他的不一致,请核对您系统的版本,其他发行版请对应修改

centos 搭建git服务器

centos 6搭建git服务器 安装 rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm yum install -y git 创建git用户 useradd git passwd git 初始化git仓库 cd /home mkdir git cd git mkdir learngit.git git init --bare learngit.git chown git:git learngit.g

centos搭建git服务器

本文基于centos 7:git 1.8.3.1 服务器ip 192.168.0.27 1)(服务器,root下)创建账号 useradd -r -s /bin/sh -c 'git version control' -d /home/git -m git mkdir -p /home/git chown git:git /home/git 注意: -r 系统状态 -s login shell of the new account -c 备注 -d 指定home目录 -m 创建home目录 2)

Linux的centos搭建git服务器

1.安装git用yum install git-core(服务器) 2.创建裸仓库(服务器) [[email protected]]$ mkdir /home/workspace [[email protected]]$ cd /home/workspace [[email protected]]$ git init -bare wwwroot.git 3.给权限(服务器) chown -R git:git wwwroot.git 4.添加git用户和密码(服务器) adduser git pa

centos 搭建git 服务器

安装 git yum -y install git 添加git 用户 adduser git 切换到git 用户 su git 在git用户家目录下创建  .ssh文件夹 mkdir .ssh 修改文件权限 chmod 700 .ssh 在.ssh 文件夹下创建文件 touch authorized_keys 修改文件夹权限 chmod 600 authorized_keys 将客户机的publickey添加到  authorized_keys 文件中 echo 'public key ' >>

在centos搭建git服务器时,不小心把/home/git目录删除了,我是怎么恢复的

在删除掉/home/git目录后,每次 git push提交时,都让填写密码,烦 第一步:在本地找到id_rsa.pub 公钥文件,这个是共用的,Linux系统和github 中都是使用的这个文件 第二步:在/home下创建git用户的文件夹, 命令  我的git用户名就是Git mkdir git chown -R git:git git 更改用户的所有者 第三步:在git文件夹下创建 .ssh文件夹 第四步;在 .ssh 文件夹下创建文件authorized_keys 第五部:将id_rsa

CentOS 6.4 搭建git 服务器

CentOS 6.4 搭建git 服务器 (2013-11-22 19:04:09)转载▼ 标签: it 分类: Linux 此文件是依据markdown所编写,更好效果参见本人github的文档https://github.com/jackliu2013/recipes/blob/master/doc/linux/CentOS_6.4_git服务器搭建.md ##CentOS安装Git服务器 Centos 6.4 + Git 1.8.2.2 + gitosis## 1.查看Linux系统服务器

centos 搭建 git 服务端和客户端

centos 搭建git需要设置远程服务端和客户端.远程代码存放在服务端,多个客户端可以共享和维护服务端代码. 一.服务端主机 1.创建ssh,大部分默认已经安装,有ssh就跳过 yum install openssh-server -y 2. 安装git yum -y install git-core 3.1 创建git用户 useradd git 3.2 设置密码 passwd git 4. git用户登录 su git 5. 初始化服务器端仓库 cd /home/gitgit init -

Centos6.4 搭建Git服务器 (最简单的方法)

下载 git-1.8.2.tar.gz tar -zvxf git-1.8.2.tar.gz cd git-1.8.2.2 sudo make prefix=/usr/local/git all sudo make prefix=/usr/local/git install git –version 查看版本 以上是服务器安装. 下面是建库. centos服务器上建库及测试 mkdir /git cd /git git –bare init //建立空仓库 git ssh-keygen (建本地