centos 7 搭建git服务器

/ centosgit / 没有评论 / 252浏览

centos 7 搭建git服务器

环境

搭建git服务器环境

centos 7

客户端

deepin 15.11 桌面版( 基于debian )

开始

  1. 安装git

    yum –y install git
    
  2. 查看git版本:安装完成后,在服务器端输入 用于校验git是否安装成功

    git --version
    
  3. 创建用户:在服务器中创建一个git专属用户

    ## 新建用户
    useradd git
    ## 赋予用户密码 此密码将会用于后续clone项目时输入的密码
    passwd  git 
    
  4. 禁止该git用户使用shell登录系统(为了安全性,一般都禁止)

    vi /etc/passwd
    

    在最后一行添加如下代码

    git❌1000:1000::/home/git:/usr/bin/git-shell
    
  5. 新建空仓库

    su git
    
    cd ~
    
    mkdir /home/git/.ssh
    
    # 新建的文件用户存放客户端的公钥
    echo ""> /home/git/.ssh/authorized_keys
    
    git init --bare first.git
    # 空仓库已经创建成功 路径为 git@yourip:/home/git/first.git
    
  6. 公钥配置

    在客户端 也就是我的电脑上(deepin)

    git config --global user.name "yourname"
    git config --global user.email "youremail"
    
    # 创建公钥、私钥
    ssh-keygen -t rsa -C "youremail"
    # 一直 Enter( 回车 )
    
    cd ~
    cd .ssh
    
    # id_rsa是密钥 id_rsa.pub是公钥
    cat id_rsa.pub
    # 将私钥复制到git服务器的**authorized_keys**文件
    
    # 登录服务器
    
    vi /home/git/.ssh/authorized_keys
    
    # 将私钥粘贴
    
    # 保存
    :wq
    

搭建完成,测试

客户端使用git克隆仓库

git clone git@yourip:/home/git/first.git
# 会要求输入上面服务器创建的git用户的密码

# 在克隆的文件下 创建 readme.md
echo "test" > readme.md

# 将文件添加到本地仓库
git add .

# 将文件提交
git commit -m "init-project"

# 推送
git push origin master

# 查看日志
git log

拓展

官方文档

## 初始化:创建一个git仓库,创建之后就会在当前目录生成一个.git的文件
git init

## 添加文件:把文件添加到缓冲区
git add filename

## 添加所有文件到缓冲区(从目前掌握的水平看,和后面加“.”的区别在于,加all可以添加被手动删除的文件,而加“.”不行)
git add .
git add --all

## 删除文件
git rm filename

## commit可以一次提交缓冲区的所有文件
git commit -m "提交的说明"