在云服务器上搭建自己的git仓库

云服务器为:腾讯云
客户端:win10操作系统

git是一个分布式的版本控制系统。这也就意味着主机克隆原始仓库之后,每一个主机上的仓库都是相同并且完整的,没有主次之分。这样极大的保证了数据的安全性。

部署开始

1.服务端部署

  • 在云服务器上安装git服务程序
    yum install git
  • 添加一个用户git,只能用来上传文本文件,而不能ssh登录
    adduser git
    chsh -s $(command -v git-shell) git//使用git-shell替换bash,这样git用户就不能通过ssh登录
  • 创建git版本仓库,一般规范的方式要以.git为后缀:
    mkdir kingwen.git
  • 修改git版本仓库的所有者与所有组:
    chown -Rf git:git kingwen.git/ //这一步是让目录可以被git用户修改,否则会出现“ permission denied”错误
  • 初始化git版本仓库:
    cd kingwen.git/
    git --bare init

至此Git服务器部署好了,但是还不能够上传文档文件,也不能克隆你的仓库。需要在服务器上开放至少一种支持Git的协议(http/https/ssh),我们采用ssh

  • 添加ssh公钥,在/home/git/.ssh/authorized_keys里添加客户端的公钥,一行一个。如果没有文件,可以新建
    mkdir /home/git/.ssh
    touch /home/git/.ssh/authorized_keys

    在这一步放入公钥指的是客户端的公钥,所以涉及到客户端生成公钥:
    客户端如何生成公钥呢?首先我们明确客户端是也需要git服务程序的,我们用git服务程序来生成公钥就可以啦。

    需在客户端操作
    • 安装git (windows上都是点击下一步安装的) git官网
    • 打开git-bash,执行
    $ cd ~  #保证当前路径在”~”下
    $ ssh-keygen -t rsa -C "xxxxxx@yy.com"  #建议填写自己真实有效的邮箱地址
    

    *本机已完成ssh key设置,公钥存放路径为:c:/Users/{用户名}/.ssh/id_rsa.pub

2.客户端部署

  • 配置账户
    $ git config --global user.name “your_username” #设置用户名
    $ git config --global user.email “your_registered_Email” #设置邮箱地址
  • 切换到某个目录来克隆仓库:eg:桌面
    cd ~/Desktop/
    git clone ssh://git@{服务器对外ip}:22/git/kingwen.git
  • 向Git版本仓库中提交一个新文件并提交到本地git仓库:
    echo "I successfully cloned the Git repository" > readme.txt
    git add readme.txt //添加进暂存区
    git status //查看状态
  • 推送到远程Git服务器,首先定义远程的Git服务器:
    git remote add server git@{服务器对外ip}:/root/kingwen.git
  • 将文件提交到远程Git服务器
    git push -u server master
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容