zoukankan      html  css  js  c++  java
  • Git在CentOS下搭建私有的git服务器

    服务器端:

    第一步:配置git

    1.1 从yum上安装git

    yum –y install git

    1.2 查看git版本:安装完成后,在服务器端输入

    git --version

    1.3 创建用户:在服务器中创建一个git专属用户

    //以下为CentOS下的用户,账户密码自定义
    useradd git
    passwd  git

    1.4 禁止该git用户使用shell登录系统(为了安全性,一般都禁止)

    vi /etc/passwd

    按i进入编辑模式,在最后一行将git用户修改成以下配置

    git:x:1000:1000::/home/git:/usr/bin/git-shell

    第二步:配置远程仓库

    2.1 创建一个空仓库

    我们选择在路径:cd  /home/ 下先创建一个用户目录,在用户目录下创建一个git仓库

    cd /home   
    mkdir git  
    cd git   
    git init --bare LearnProject.git 

    到这里,空仓库已经创建成功 ,仓库的路径为:/home/git/LearnProject.git

    2.2 为刚刚创建的用户git赋予权限

    输入以下命令,为git用户赋予权限

    //chown -R 用户名:组名 文件
    chown -R git:git LearnProject.git
    //建议home以及git文件夹都赋权限

    第三步:打开 RSA 认证

    进入/etc/ssh目录,编辑 sshd_config

    cd  /etc/ssh 
    vi ssh_config

    按i进入插入模式,打开以下三个配置的注释(带#为注释), 按ESC退出插入模式,按:wq保存

    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys

    保存完成后,重启sshd服务

    /etc/rc.d/init.d/sshd restart
    //这个执行失败则执行下面的命令
    service sshd restart

    至此,服务器端git配置完成;

    客户端

    第一步:配置git

    1.1 安装git

    在Linux上参考服务器端安装git,在Windows下教程很多,安装也傻瓜式,这里不再赘述

    1.2 打开git bash创建git使用者

    git config --global user.name "LiYu"
    git config --global user.email "19740428lxh@gmail.com"

    1.3 创建与服务器通讯的密钥

    在git bash中,输入以下命令,为自己的邮箱创建一个密钥

    ssh-keygen -t rsa -C "19740428lxh@gmail.com"

    一路enter下去

    这时候,系统已经为我们创建了一个公钥和密钥,id_rsa是密钥,不能告诉任何人,id_rsa.pub是公钥,可以公开;

    1.4 将本地的公钥添加到服务器上

    1.4.1 通过客户端命令行将本地公钥添加进远程服务器中

    在gitbash下,输入以下命令(ip地址换成你git服务器的地址)

    ssh git@47.97.194.255 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

    1.4.2 手动将公钥添加到服务器中

    在1.3中,我们创建了一个公钥,以Windows系统为例子,我们先找到这个文件。这个文件的路径在:

    C:Users用户名.sshid_rsa.pub

    用记事本的方式打开,我们会得到一串密钥

    将以上Ctrl+A全选然后复制。

    在服务器端,我们用vi编辑器访问authorized_keys,将以上信息粘贴进其中

    vi /home/git/.ssh/authorized_keys

    然后:wq保存。

    通过以上1.4.1和1.4.2两种方法,我们就将本地的公钥添加进服务器中了。如果发现该目录下没有.ssh文件,我们可以手动创建一个,并添加一个authorized_keys

    第二步:克隆远程仓库

    将远程空仓库克隆到本地

    2.1 创建本地文件夹

    假设我们在D:/gitRepo/gitTest下创建一个用于本地的git仓库文件夹

    cd D:
    mkdir gitRepo
    cd gitRepo
    mkdir gitTest

    2.2 克隆远程仓库

    //端口在22的情况下
    git clone git@47.97.194.255:/home/git/LearnProject.git
     
    //端口在非22的情况下(如5000)
    git clone ssh://git@47.97.194.255:5000/home/git/LearnProject.git

    第三步:push/pull项目
    做完以上服务器端/客户端各两步的内容,你的本地git已经可以和git服务器进行通信了,此时我们可以进行常规的项目push和pull了。

    3.1 为仓库添加内容

    这里我们随便把自己的一个项目丢进去(或者随意创建一个文件亦可,空文件夹git不会识别)

    3.2 提交修改

    然后运行以下命令

    cd LearnProject/
    git add . git commit
    -m 初始化项目

    这时候,我们就为本地创建了一次commit

    3.3 push本地修改

    运行以下命令

    // origin 是远程仓库的别名,可以通过 git remote -v 查看
    //master 是默认主分支
    git push origin master

    见到以上内容,便说明push成功。

    3.3 git服务器远程仓库查看commit

      进入到服务器远程仓库的目录

    cd /home/git/LearnProject.git
    git log
  • 相关阅读:
    【Android】: 部分注意事项
    【Java】:多线程下载
    【操作系统】:Main features of the X86-64
    「数据结构」:模拟指针(simulated pointer)
    「JAVA」:Berkeley DB的JAVA连接
    「python」: arp脚本的两种方法
    「数据结构」: 间接寻址
    「操作系统」: Conditional Move Instructions(trap)
    「操作系统」:The most useful condition codes
    quartz定时任务时间设置
  • 原文地址:https://www.cnblogs.com/ljfchtcc/p/13334891.html
Copyright © 2011-2022 走看看