关闭

centos6.5搭建git服务器 win10 安装git客户端连接 和遇到的问题+解决方式

407人阅读 评论(0) 收藏 举报





假设CentOS6.5的IP地址为192.168.0.10,centos上有一个普通用户skefer以及root超级用户
Win7的IP地址为192.168.0.20, 用户名为 tangpeng


1.Centos6.5上登录用户为skefer
1.执行以下命令安装git环境
    [skefer@localhost ~]$ sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel git
2. 输入git --version 查看git是否安装好
    [skefer@localhost ~]$ git --version
    #如果安装好的话,应该输出 git version 1.7.1等信息
     
3.创建Git专用用户组和用户名
    #切换到root模式
    [skefer@localhost ~]$ su root 
    #添加git组
    [root@localhost ~]# groupadd gitgroup
    #创建git用户
    #-d /git的意思是将git用户的主目录指定为/git,-g gitgroup的意思是设置gitgroup为git这个用户所在用户组
    #如果不想修改默认主目录,可以这样写 useradd -d /home/git -g gitgroup -m git
    #创建git主目录 
    [root@localhost ~]# mkdir /git  
    #创建git用户
    [root@localhost ~]# useradd -d /git -g gitgroup -m git    #为git创建密码
    [root@localhost ~]# passwd git
    #修改权git用户主目录权限
    [root@localhost ~]# chown - R git:gitgroup /git 4.创建ssh密钥
    [git@localhost ~]$ ssh-keygen -t rsa
    # 默认情况下,公钥和私钥会保存在~/.ssh目录下,有这些文件:id_rsa  id_rsa.pub  known_hosts
     #将公钥拷贝到/tmp文件夹下 

    [git@localhost ~]$ cp .ssh/id_rsa.pub /tmp/git.pub
4. 安装gitosis管理工具
    #安装gitosis运行环境
    [root@localhost ~]#  yum install python python-setuptools
    #下载gitosis并安装

    [root@localhost ~]#  cd /tmp
    [root@localhost ~]#  git clone git://github.com/res0nat0r/gitosis.git
    [root@localhost ~]#  cd gitosis
    [root@localhost ~]#  python setup.py install
    #显示Finished processing dependencies for gitosis==0.2即表示成功
    #切换到git用户
    [root@localhost ~]#  su git
    [git@localhost root]$ cd ~
    #初始化gitosis
    [git@localhost ~]$ gitosis-init < /tmp/git.pub
   [git@localhost ~]$ chmod 755 /git/repositories/gitosis-admin.git/hooks/post-update
   #删除authorized_keys中除了gitosis生成key之外的key
   [git@localhost ~]$ vi ~/.ssh/authorized_keys
    #如果有###文字,这个是gitosis生成的,不要去删除。删掉其他的sshkey就行了,不然会造成gitosis无法使用

5.上传客户端的sshkey公共密钥
    在win7上安装mysigit,tortoisGIT,安装完毕后,运行附件->Puttygen,生成公钥和私钥,其中私钥保存在本地,将公钥保存为tangpeng.pub
    运行git-bash,定位到pub文件所在位置,然后使用scp tangpeng.pub skefer@192.168.0.10:/tmp这个命令,将windows客户端的公钥传到服务器上。(注意,我有skefer用户的密码,可以使用这个账户上传windows客户端的公钥。如果有root的密码,也可以使用root账户上传)
    
6.配置服务器上的gitosis

    #配置gitosis
   [git@localhost ~]$ git clone git@192.168.0.10:gitosis-admin.git
   [git@localhost ~]$ cd gitosis-admin/
    #添加windows客户端的公钥
    
[git@localhost gitosis-admin]$ cp /tmp/tangpeng.pub keydir/

7.添加GIT项目
    [git@localhost gitosis-admin]$ vi gitosis.conf
    # 
[gitosis]
    # [group gitosis-admin]    # writable = gitosis-admin 
    # members = a@server1
    # [group developers]
    # writable = helloworld
    # members = tangpeng
    #保存并同步项目
    [git@localhost gitosis-admin]$ git add.
    [git@localhost gitosis-admin]$ git commit -am "添加helloworld项目,授权该项目为tangpeng使用"
    [git@localhost gitosis-admin]$ git remote add origin git@192.168.0.10/gitosis-admin.git
    [git@localhost gitosis-admin]$ git push origin master 

8.在win7客户端上,创建项目并同步到服务器
   创建文件夹helloworld
   鼠标右击->Git在这里创建版本库->确定
   鼠标右击->Git同步
   在远端url处,点击管理,增加远端git服务器位置
   进入后,远端填写"origin",URL填写"git@192.168.0.10:helloworld.git",putty密钥填写之前win7上使用Puttygen生成的私钥
   点击保存->确定
   点击推送,然后项目就能推送到远端服务器了。

剩下是git的具体使用方法,可以使用gitbash命令行,也可以使用totoisegit客户端,各有优势。




问题1没有权限添加权限

      (1)chmod 755/777 文件夹

        (2) chown 用户(:用户组) 文件夹 如chown -R git ../../repositories/goldchef.git

问题2 创建新的git库 一定要 git init


添加远程分支

git remote add origin /user/develop/goldchef


添加远程git库

git remote add origin git@139.196.232.166:/goldchef.git

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:44792次
    • 积分:1733
    • 等级:
    • 排名:千里之外
    • 原创:135篇
    • 转载:8篇
    • 译文:0篇
    • 评论:2条
    最新评论