• 在 Linux 下搭建 Git 服务器


    ① 安装 Git

    Linux 做为服务器端系统,Windows 作为客户端系统,分别安装 Git

    服务器端:

    #yum install -y git

    安装完后,查看 Git 版本

    [root@localhost ~]# git --version
    git version 1.7.1

     版本太低,用以下方法升级:

    1. 首先更新系统

      yum  -y update

      更新完成之后有6.5变成6.7了

      linux安装git方法
    2.  

      安装依赖的包

      yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

    3.  

      下载git源码并解压

      $ wget https://github.com/git/git/archive/v2.3.0.zip

      $ unzip v2.3.0.zip

      $ cd git-2.3.0

      linux安装git方法
    4.  

      编译安装:

      将其安装在“/usr/local/git”目录下。

      make prefix=/usr/local/git all

      make prefix=/usr/local/git install

      因为服务器时间不对编译的过程中报错如下图,使用ntpdate自动校正系统时间。报错“Writing perl.mak for Git make[2]: *** [perl.mak] Error 1”,请重启apache服务,service httpd restart。

      linux安装git方法
    5.  

      编译完成之后使用git --version 查看git版本,居然还是1.7.1,这是因为它默认使用了"/usr/bin"下的git。

      你可以用下面的命令查看git所在的路径:

      $ whereis git

      git: /usr/bin/git /usr/local/git /usr/share/man/man1/git.1.gz

      linux安装git方法
      linux安装git方法
    6.  

      我们要把编译安装的git路径放到环境变量里,让它替换"/usr/bin"下的git。为此我们可以修改“/etc/profile”文件(或者/etc/bashrc文件)。

      vim /etc/profile

      然后在文件的最后一行,添加下面的内容,然后保存退出。

      export PATH=/usr/local/git/bin:$PATH

      linux安装git方法
    7. 7

      不想重启系统,使用source命令立即生效

      source /etc/profile

    8. 8

      然后再次使用git --version 查看git版本,发现输出2.3.0,表明安装成功。

      linux安装git方法

    ② 服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码

    [root@localhost home]# id git
    id: git:无此用户
    [root@localhost home]# useradd git
    [root@localhost home]# passwd git

    ③ 服务器端创建 Git 仓库

    设置 /home/data/git/gittest.git 为 Git 仓库

    然后把 Git 仓库的 owner 修改为 git

    [root@localhost home]# mkdir -p data/git
    [root@localhost home]# git init data/git
    Initialized empty Git repository in /home/data/git/gittest.git/
    [root@localhost home]# cd data/git
    [root@localhost git]# chown -R git:git gittest.git/

    客户机 origin url 填上 git@Ip:/路径/路径就可以了
    在此处可以在客户机也就是我的本地克隆到代码,但新增文件发现提交不上去,翻译了一下看错误是什么权限啥的。

    这是由于git默认拒绝了push操作,需要进行设置,修改.git/config添加如下代码:

        根据提示执行命令解决问题 :

    [root@localhost git]# git config receive.denyCurrentBranch ignore

    ok!可以正常推送了

    git init git --bare init 其他人说 前者建立的仓库 pull的时候没法看到 更新的代码,必须得使用git reset --hard才能看到push后的内容.
    但用后者用git命令会报不在work tree错误。怎么解决还没找到
  • 相关阅读:
    springsecurity-用户注销
    springsecurity-自定义403页面
    springsecurity-用户授权 (注解使用)
    springsecurity-用户授权
    springsecurity-自定义登录页面和自定义认证
    springsecurity-查询数据库认证
    springsecurity-基本原理(过滤器链)
    springsecurity-web权限方案-用户认证(设置用户名和密码)
    u-boot移植(九)---代码修改---NAND
    u-boot移植(八)---代码修改---存储控制器--MMU
  • 原文地址:https://www.cnblogs.com/xiaommvik/p/7655119.html
Copyright © 2020-2023  润新知