zoukankan      html  css  js  c++  java
  • git基本使用(搭建Git服务器)

    我操作的是阿里的云服务器Linux系统的。系统不一样可能指令也不一样;

    简要说明:

    git是分布式版本控制系统,也就是说每个开发人员的本地库和远程的库都是一样的。

    基本思路:

    1.在远程服务器上的一个目录创建一个空的Git库,本地的库与之关联,从而达到更新代码和长传代码。

    2.在远程服务器上创建多的用户名和密码给开发人员用,同时了解用户的权限配置;

    下面开始操作:

    一,在远程服务器上创建一个空的Git仓库,有两种方法

      1.直接在远程服务端的文件夹中创建:

      首先用 ssh username@servername登录你的服务器

      一下操作在var/git 路径下git 自己创建的

      安装git,如果安装失败按提示安装sudo

      $ sudo apt-get install git

      创建一个空的Git库,sample 是自己定义的工程名

      sudo git init --bare sample.git

      到这库已经创建结束了

     

      2.在本地创建然后拷贝到远程服务端文件夹中:

      操作在本地的git文件夹

      mkdir sample

      cd sample

      git init

      cd ..

      现在回到git目录下

      克隆一个空的库出来

      git clone --bare sample sample.git

      上传到远程服务器的文件夹

      scp -r sample.git username@servername:/var/git

      此时远程服务器上就有了一个空的项目库

    二,创建用户,配置权限

      回到远程服务器的var/git 目录username,自己定义

      创建用户,中间会填写很多信息,自己根据提示填写

      sudo adduser username

      为用户添加pull 和push 权限,其实是文件的读写权限,针对的是真个服务器

      chown -R username:username git

      chmod 777 git 

      此时,这个用户就可以在本地的电脑使用了

      在本地 git clone username@servername:/var/git/sample.git

          万事OK了。

    三,添加ssh公钥,省去提交,更新代码密码的输入;

      本地生成ssh公钥

      

      cd ~/.ssh   创建.ssh 并进入.ssh

      ssh-keygen  生成ssh公钥

      

      $ cat ~/.ssh/id_rsa.pub 查看文件,下面就是公钥的样子
        ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
        GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
        Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
        t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
        mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
        NrRFi9wrf+M7Q== schacon@agadorlaptop.local

      回到服务器中/home/username,usename是你在创建用户名时候生成的。

      mkdir .ssh

      cd .ssh

      touch authorized_keys

      把本地的公钥添加到authorized_keys文件中

    当前电脑在用username这个名字上传代码时候就不用输入密码了。

    这个时候你是可以用ssh username@servername 直接登录这个服务器的,为了防止

    登录可以进行一些限制;

    打开 etc/passwd 文件

    找到

    username:x:1001:1001:,,,:/home/git:/bin/bash

    改成

    username:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

    这样就限制的开发账户的访问

    同理配置多个用户,你也可以用一个.ssh 把公钥添加到一个authorized_keys文件中

    有问题欢迎探讨

      

      

      

    每一步都是一个深刻的脚印
  • 相关阅读:
    WebDriver(C#)之十点使用心得
    selenium加载cookie报错问题:selenium.common.exceptions.InvalidCookieDomainException: Message: invalid cookie domain
    c#和javascript函数的相互调用(ObjectForScripting 的类必须对 COM 可见。请确认该对象是公共的,或考虑向您的类添加 ComVisible 属性。)
    开源项目推荐:Qt有关的GitHub/Gitee开源项目
    Github Qt开源项目
    QCefView实现与JS的交互
    UE4 Subsystems
    Docker与k8s的恩怨情仇(八)——蓦然回首总览Kubernetes
    表格技术七十二变|手把手教你用Canvas电子表格做电子签名
    应用程序如何通过嵌入式分析技术获益
  • 原文地址:https://www.cnblogs.com/chzlh/p/8575470.html
Copyright © 2011-2022 走看看