zoukankan      html  css  js  c++  java
  • Git服务器搭建

    总的来说,搭建本地Git服务器有两种方法,一是为每个使用Git服务的用户创建一个账户,二是创建一个公用的账户(账户名一般为git)供所有人使用。一般采用第二种方法,可以避免不必要的账户添加和读写权限设置。

    服务器端

    安装ssh和git

    sudo apt install openssh git
    

    创建并配置git账户

    sudo adduser git
    sudo chsh -s /usr/bin/git-shell git
    

    第二条命令将git用户的shell改为git-shell,以限制git用户的登录行为。借助一个名为git-shell的受限 shell 工具,你可以方便地将用户git的活动限制在与Git相关的范围内。

    修改服务器代码存储目录的owner为git

    假设代码存储目录为/opt/git,修改owner为git以便拥有读写权限:

    sudo chown -R git:git /opt/git
    

    创建裸仓库, 裸仓库目录名以.git结尾

    可以在/opt/git下直接创建一个空仓库

    cd /opt/git
    mkdir project.git
    git init --bare
    

    也可以从本地仓库创建一个空仓库

    git clone --bare project project.git
    scp -r project.git git@server:/opt/git
    

    本地

    安装ssh和git

    sudo apt install openssh git
    

    安装完成后,首先要配置用户名及其email。

    创建ssh key,并上传到服务器

    ssh-keygen -t rsa -C "email@email.com"
    ssh-copy-id -i git@server
    

    email是上一步中git用户的email,密钥的密码可以为空。默认情况下,该命令在~/.ssh目录生成id_rsaid_rsa.pub两个文件,分别是当前用户的私钥和公钥。
    第二个命令将公钥拷贝到服务器的git用户,保存在文件~/.ssh/authorized_keys中,当然,也可以手动追加到该文件的末尾,每个公钥另起一行。

    测试

    git clone git@server:/opt/git/project.git
    cd project
    echo README >> README
    git add README
    git commit -m "add README"
    git push origin master
    

    关联本地仓库和远程仓库

    # in project directory
    git remote add origin git@server:/opt/git/project.git
    git push -u origin master
    

    首先添加仓库关联,然后向master分支推送内容,-u参数在首次推送时使用,将本地分支和远程分支关联起来。

  • 相关阅读:
    模块化工具require 学习笔记
    学习Jade模板引擎
    通过border来实现各种三角符号
    使用vscode 编译 sass
    Javascript 运行机制
    Vue调试工具 vue-devtools
    MVVM框架
    通信类
    面向对象
    原型和原型链
  • 原文地址:https://www.cnblogs.com/whenyd/p/8980952.html
Copyright © 2011-2022 走看看