CentOS_6.5 64位系统,安装git服务器+客户端

================ git服务器安装 ====================
 CentOS安装Git服务器 Centos 6.4 + Git 1.8.2.2 + gitosis##
    1.查看Linux系统服务器系统版本
        cat /etc/redhat-release   # 查看系统版本

        CentOS release 6.4 (Final)

        ifconfig                 # 查看服务器的IP
        eth0
              Link encap:Ethernet  HWaddr 00:23:8B:FA:78:92
              inet addr:192.168.100.202  Bcast:192.168.100.255  Mask:255.255.255.0
              inet6 addr: fe80::223:8bff:fefa:7892/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:543645 errors:0 dropped:0 overruns:0 frame:0
              TX packets:157155 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:383527379 (365.7 MiB)  TX bytes:13270106 (12.6 MiB)
              Interrupt:16
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
    2.在服务器上安装git及做些操作
     - 执行命令
    sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
     - 同时下载git-1.8.2.2.tar.gz文件,然后将其`mv` 到`/usr/local/src`目录。[git-1.8.2.2.tar.gz安装包下载地址][1]
    cd /usr/local/src
    sudo tar -zvxf git-1.8.2.2.tar.gz
    cd git-1.8.2.2
    sudo make prefix=/usr/local/git all
    sudo make prefix=/usr/local/git install
     - 增加软连接

    sudo ln -s /usr/local/git/bin/* /usr/bin/
    git --version  #如果能显示版本号,即表示成功`

    3.在服务器安装gitosis

    sudo yum install python python-setuptools
    cd /usr/local/src
    git clone git://github.com/res0nat0r/gitosis.git
    cd gitosis
    python setup.py install
    #显示Finished processing dependencies for gitosis==0.2即表示成功
================ 上面是别人的列子 ====================
我们这里使用一台服务器当做git服务器和客户端,操作git饿时候需要切换到git用户
================ git服务器端配置 ====================
服务器:安装git工具【root】/home
    yum install -y python python-setuptools git-core
    git clone git://github.com/res0nat0r/gitosis.git
    cd gitosis
    python setup.py install
    这样提示表示安装成功:
        Using /usr/lib/python2.6/site-packages
        Finished processing dependencies for gitosis==0.2
服务器:新建一个git用户并创建管理git:【root】/home
    useradd -m git
    su - git
服务器:使用客户端ssh生成git管理【root切换git】/home
    ssh-keygen -t rsa
    scp ~/.ssh/id_rsa.pub [email protected]服务器地址:/tmp/
        生成ssh:
            ssh-keygen -t rsa -C "[email protected]"
客户端:使用客户端ssh生成git管理【git】/home
    gitosis-init<~/.ssh/id_rsa.pub
    这样会在/home/git下面生成gitosis和repositories两个目录,后者即为存放公共库的目录。确保/home/git/repositories/gitosis-admin.git/hooks/post-update具有执行权限(755)。
客户端:下面需要在开发机克隆gitosis-admin.git项目,它是用来管理所有git项目及用户的。/home/git/data(目录没有则手动创建)
    git clone [email protected]:gitosis-admin.git  //因为是同一台机器,所以可以用localhost
客户端:为什么这里可以直接通过clone命令克隆项目,就是因为gitosis-init初始化的时候使用了客户端生成的公钥。在gitosis-admin项目下有一个gitosis.conf文件和一个keydir目录。gitosis.conf用来配置git项目和用户,keydir存放用户的公钥,这里的公钥对命名有严格要求,要是 用户名.pub,必须以.pub后缀结尾。gitosis.conf的格式如下:
    [gitosis]
    [group gitosis-admin]
    writable = gitosis-admin
    members = username #对应keydir下有一个 username.pub 公钥文件
客户端:现在可以按照这个格式增加新的项目。
    [gitosis]

    [group gitosis-admin]
    writable = gitosis-admin
    members = username #对应keydir下有一个 username.pub 公钥文件

    [group XXX]
    writable = XXX
    members = user1 user2 ... #多个用户用空格分开
    假如这里新增了一个新的XXX项目:
        同样用新用户的ssh-keygen命令生成公钥和私钥,并把公钥上传到keydir目录下,重命名为user1.pub,更新gigosis-admin项目
客户端:更新项目在CentOS机器上克隆的gitosis-admin项目下执行下面的命令
    git add .
    git commit -a -m "add newuser"
    git push
    完成之后,服务器就已经做好了接受新项目的准备。这个时候服务器端还不会生成new-project.git项目,等PC端push之后会自动生成。
客户端:创建新建的项目目录并添加
    mkdir XXX
    cd XXX
    git init
    touch hello.txt  //创建一个空文件 才能提交成功
    git add hello.txt
    git commit -am ‘添加新项目‘
    git remote add origin [email protected]:XXX.git
    git push origin master
    git push origin master  //执行两遍
    以上完成后看,XXX/.git/config文件里面是否有,如果没有增加或者执行命令
        [branch "master"]
            remote = origin
            merge = refs/heads/master
         命令:(因此通过git config进行如下配置)
             git config branch.master.remote origin
            git config branch.master.merge refs/heads/master
个人电脑:克隆项目
    git clone [email protected]:XXX.git

个人电脑提交代码后服务器同步更新:(添加自动更新)
    文件位置:home/git/repositories/ecshop.git/hooks/post-receive
    #自动更新提交的代码到仓库 start
    cd /home/git/data/ecshop/ #ecshop是服务器客户端管理项目位置
    unset GIT_DIR #cd解决后还是在hoot目录下
    git pull origin master
    #自动更新提交的代码到仓库 end

    说明:
        hook脚本执行了cd之后,继续执行git语句拉取的时候还是在hooks文件夹下,而不是cd的文件路径。
        上面主要是添加了unset GIT_DIR ,git的hooks里面默认有一些环境变量,会导致无论在哪个语句之后执行git命令都会有一个默认的环境路径,既然这样unset 掉默认的GIT环境变量就可以了。
======================== 常见问题 ===========================
首先确定 /home/git/repositories/gitosis-admin.git/hooks/post-update 为可执行即属性为 0755
1. git操作需要输入密码
原因
公密未找到
解决
上传id_pub.rsa到keydir并改为‘gitosis帐号.pub‘形式,如miao.pub。扩展名.pub不可省略
2. ERROR:gitosis.serve.main:Repository read access denied
原因
gitosis.conf中的members与keydir中的用户名不一致,如gitosis中的members = [email protected],但keydir中的公密名却叫foo.pub
解决
使keydir的名称与gitosis中members所指的名称一致。
改为members = foo 或 公密名称改为[email protected]
时间: 2024-11-08 23:26:16

CentOS_6.5 64位系统,安装git服务器+客户端的相关文章

64位系统 安装oracle

1问题解决:64位操作系统下IIS报“试图加载格式不正确的程序”错误 缘由:在64位操作系统下IIS发布32位的项目,报“项目依赖的dll无法读取,试图加载格式不正确的程序”错误 原因:程序集之间的通讯要么全是64位环境下的,要么全是32位环境下的.不能混编访问.不然会出现“试图加载格式不正确的程序”的错误. 解决方法: [C/S] 运行C/S程序比较简单,直接在Build C/S程序的时候显式指定为X86(64位系统默认为X64)就可以了. [B/S] 运行B/S稍稍复杂点.在建立网站的时候,

Ubuntu 16.04 LTS 64位系统 安装Docker

本文开发环境为Ubuntu 16.04 LTS 64位系统,通过apt的docker官方源安装最新的Docker CE(Community Edition),即Docker社区版,是开发人员和小型团队的理想选择. 开始安装 由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本: $ sudo apt-get remove docker docker-engine docker-ce docker.io 1 更新apt包索引: $ sudo apt-get update 1

Ubuntu14.04 64 位系统 安装 Cuda 6.5

1.首先需要卸载系统自带的NVIDIA相关驱动: $ sudo apt-get –purge remove nvidia-glx nvidia-glx-new $ sudo apt-get –purge remove nvidia-settings nvidia-kernel-common 2.原有驱动删除之后,还需要将Ubuntu集成的开源驱动加入黑名单,即修改/etc/modprobe.d/blacklist.conf文件: sudo gedit /etc/modprobe.d/blackl

调整cpu支持64位系统

调整cpu支持64位系统 安装系统时提示 your cpu does not support long mode, use a 32bit distribution 进入 bios ->configuration/security ->virtual technology 设置为enabled

Adobe/Flash Media Server 5.0 linux 64位系统下的安装

一.下载 Adobe/Flash MS5.0下载地址: http://fs1.d-h.st/download/00036/VOt/adobemediaserver_5_ls1_linux64.tar.gz # ./wget http://fs1.d-h.st/download/00036/VOt/adobemediaserver_5_ls1_linux64.tar.gz 二.安装 # ./tar -xvf adobemediaserver_5_ls1_linux64.tar.gz # ./cd

Oracle 11g win7 64位【桌面类 &amp;&amp; 服务器类】安装过程

Oracle 11g  win7  64位[桌面类 && 服务器类]安装过程 一.首先,根据自己的操作系统位数(32位或64位),到官网下载相应的安装程序,如下图所示. 二.解压两个压缩包到同一目录,即"database".[]然后右键"setup.exe",点管理员身份运行(或者双击文件即可运行),如下图所示: 稍微等待一会,就会出现如下图所示的安装画面,取消下图所示的选中,然后单击"下一步"继续,同时在出现的信息提示框单击&q

安装Ubuntu双系统系列——64位Ubuntu安装H3C的INode客户端

学校使用的是Inode客户端认证上网的.如果是使用Ubuntu 32位版本,可以完美地安装并能够连接到网站.但是如果安装的是Ubuntu desktop 12.10 amd64版本,则发现之前的"iNodeClient_For_Linux_V3.60-E6210.tar.gz"不能安装.因此需要寻找另一种方法实现连网. 解决问题的方法:在ubuntu 12.10版本中添加i386环境下的共享动态链接库. 安装环境:Ubuntu 12.04LTS 64-bit   ,  H3C客户端:i

手把手VirtualBox虚拟机下安装rhel6.4 linux 64位系统详细文档

下面演示安装的是在VirtualBox里安装rhel 6.4 linux 64位系统. 一.VirtualBOX 版本. 二.虚拟机的配置. 1.现在开始演示安装,一起从零开始.点击“新建”,创建新的系统. 1.现在开始演示安装,一起从零开始.点击“新建”,创建新的系统. 2.选择你要安装的系统类型,这里它有自动识别功能,我输入rhel-6.4_64的时候,下面的类型和版本自动识别出来了. 3.给虚拟机分配内存大小,这个结合你自己机器的内存.如果不安装其他的东西512M就可以,我的机器是8G,这

python一些模块的exe安装包在windows的64位系统里识别不到已安装Python目录的解决方法

在windows里安装python一些模块时候,有时候源码安装比较困难,pip install也各种报错,这时候最喜欢用别人编译好的exe或者whl文件来安装,但是在windows的64位系统里,如果有一些安装包没怎么考虑过在64位系统上的安装,在安装时候就会找不到你自己安装的python目录. 解决法子:运行国外这个脚本,即可把你64位系统上的python目录添加至注册表里. # # script to register Python 2.0 or later for use with win