• [BUG]Git Sever搭建与相关错误处理


    搭建

    安装git:

    sudo apt-get install git
    

      

    创建一个git用户,用来运行git服务:(用自己的用户也可以,其实)

    sudo adduser git
    

    创建证书登录:

    收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。

    (可以在客户端通过ssh-copy-id user@serverip搞定)

    第四步,初始化Git仓库:

    先选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入命令:

    sudo git init --bare sample.git
    

      

    Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git: $ sudo chown -R git:git sample.git

    第五步,克隆远程仓库:

    现在,可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:

    git clone git@server:/srv/sample.git
    
    Cloning into 'sample'...
    
    warning: You appear to have cloned an empty repository
    

      

    剩下的推送就简单了:

    (如果客户端已经有一个git项目了)

    如一个叫ea_network_pruning的项目,server端也有一个叫ea_network_pruning.git的bare项目。则:

    git remote add origin git@ip:~/ea_network_pruning.git
    

      

     然后: 

    git push -u origin master
    

      

    修改remote url:

    首先移除remote url:

    git remote remove origin

    然后更新remote url:

    git remote add origin xx@xxxx.git

    然后pull:

    git pull origin master

    再设置push的参数:

    git push --set-upstream origin master

    最后add,commit后,push当前结果:

    git push

    报错:git remote error insufficient permission for adding an object to repository

    解决:

    这是因为远端服务器上,git项目文件夹的own不属于我们连接的那个账号(很可能是root)。登陆远端服务器,修改该项目的的所属人:

    sudo chown -R git:git /home/git/project/doc.git

    git:git的意思是,所属用户:所属组。

  • 相关阅读:
    bodyparser中间件
    socket编程server端
    快速搭建ELK日志分析系统
    windows下nginx+php-cgi多端口
    c#中bin,obj,properties文件夹的作用
    宝塔面板Linux命令大全
    c#串口编程(转)
    git push.default设置
    PHP在RS232串口通讯协议的应用演示[测试环境WinXP/PHP5.1.4]
    Windows下的串口编程
  • 原文地址:https://www.cnblogs.com/immortalBlog/p/10222068.html
Copyright © 2020-2023  润新知