`

centos搭建git服务器(上)

阅读更多

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

 

[root@163-44-167-134 ~]# yum -y install git
#查看git版本号
[root@163-44-167-134 ~]# git --vistion
#gitosis为Git用户权限管理系统,通过管理服务端的/home/git/.ssh/authorized_key文件来执行对用户权限的管理,是一个python模块包
[root@163-44-167-134 ~]# yum -y install python python-setuptools
[root@163-44-167-134 ~]# git clone git://github.com/res0nat0r/gitosis.git
[root@163-44-167-134 ~]# cd gitosis/
[root@163-44-167-134 ~]# python setup.py install
#显示Finished processing dependencies for gitosis==0.2即表示成功
#添加git用户
[root@163-44-167-134 ~]# useradd git  
[root@163-44-167-134 ~]# su git
[git@163-44-167-134 root]$ cd ~
#git管理用户生产密钥并上传到服务器端
#有些人把git管理用户和git服务端放在两台服务器,完全没必要
[git@163-44-167-134 ~]$ ssh-keygen -t rsa
[git@163-44-167-134 ~]$ gitosis-init <~/.ssh/id_rsa.pub
#报错
Traceback (most recent call last):
  File "/usr/bin/gitosis-init", line 9, in <module>
    load_entry_point('gitosis==0.2', 'console_scripts', 'gitosis-init')()
  File "/usr/lib/python2.7/site-packages/gitosis-0.2-py2.7.egg/gitosis/app.py", line 24, in run
    return app.main()
  File "/usr/lib/python2.7/site-packages/gitosis-0.2-py2.7.egg/gitosis/app.py", line 38, in main
    self.handle_args(parser, cfg, options, args)
  File "/usr/lib/python2.7/site-packages/gitosis-0.2-py2.7.egg/gitosis/init.py", line 123, in handle_args
    user = ssh_extract_user(pubkey)
  File "/usr/lib/python2.7/site-packages/gitosis-0.2-py2.7.egg/gitosis/init.py", line 39, in ssh_extract_user
    raise InsecureSSHKeyUsername(repr(user))
gitosis.init.InsecureSSHKeyUsername: Username contains not allowed characters: 'git@163-44-167-134'
[git@163-44-167-134 ~]$ vim ~/.ssh/id_rsa.pub
#将证书末尾的 git@163-44-167-134 改成  git@localhost
#这一步不报错的可以无视
[git@163-44-167-134 ~]$ gitosis-init <~/.ssh/id_rsa.pub
Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/
[git@163-44-167-134 ~]$ ls
gitosis  repositories
[git@163-44-167-134 ~]$ mkdir github
[git@163-44-167-134 ~]$ cd github/
[git@163-44-167-134 github]$ git clone git@163.44.167.134:gitosis-admin.git
Cloning into 'gitosis-admin'...
The authenticity of host '163.44.167.134 (163.44.167.134)' can't be established.
ECDSA key fingerprint is a1:e3:dc:f2:aa:49:3b:5f:9f:93:0f:dd:6e:d4:ed:32.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '163.44.167.134' (ECDSA) to the list of known hosts.
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 5 (delta 0), reused 5 (delta 0)
Receiving objects: 100% (5/5), done.
#这样就克隆了配置
[git@163-44-167-134 github]$ cd gitosis-admin/
[git@163-44-167-134 gitosis-admin]$ ls
gitosis.conf  keydir
#gitosis.conf为配置项目和用户文件,keydir为公钥目录
[git@163-44-167-134 gitosis-admin]$ vim gitosis.conf
[gitosis]

[group gitosis-admin]
members = git@localhost
writable = gitosis-admin
#修改下(添加一个项目)
[group github]
writable = github
members = git@localhost
[git@163-44-167-134 gitosis-admin]$ cd ../../repositories/
[git@163-44-167-134 repositories]$ mkdir github.git
[git@163-44-167-134 repositories]$ cd github.git/
#初始化一个项目
[git@163-44-167-134 github.git]$ git init --bare
Initialized empty Git repository in /home/git/repositories/github.git/
[git@163-44-167-134 root]$ cd ~
[git@163-44-167-134 ~]$ mkdir test
[git@163-44-167-134 ~]$ cd test/
[git@163-44-167-134 test]$ git clone git@163.44.167.134:github.git
Cloning into 'github'...
warning: You appear to have cloned an empty repository.
[git@163-44-167-134 github]$ touch test1.txt
#添加
[git@163-44-167-134 github]$ git add .
#提交
[git@163-44-167-134 github]$ git commit -a -m "granted jay commit rights to git-test"
#报错
fatal: Not a git repository (or any of the parent directories): .git
[git@163-44-167-134 github]$ cd gitosis-admin/
[git@163-44-167-134 gitosis-admin]$ git add .
[git@163-44-167-134 gitosis-admin]$ git commit -a -m "granted jay commit rights to git-test"

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <git@163-44-167-134.(none)>) not allowed
#随便写
[git@163-44-167-134 gitosis-admin]$ git config --global user.name "gituser"    
[git@163-44-167-134 gitosis-admin]$ git config --global user.email "gituser@gituser.com"
#再次提交
[git@163-44-167-134 github]$ git commit -a -m "granted jay commit rights to git-test"
[master (root-commit) dc1958d] granted jay commit rights to git-test
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test1.txt
#提交到主版本
[git@163-44-167-134 gitosis-admin]$ git push origin master

以上都是在一台服务器上操作,不过两个用户而已。此处git服务端搭建完成。

参考1:http://blog.csdn.net/tantexian/article/details/37724377 (按照这个搭了一天都没搭起来,衰~)
参考2:http://blog.csdn.net/xluren/article/details/28419467

 

有问题请留言:http://www.webyang.net/Html/web/article_257.html

 

0
5
分享到:
评论

相关推荐

    centos离线搭建git服务器(附教程,源码包)

    以上就是离线在CentOS上搭建Git服务器的详细步骤。请确保在操作过程中遵循最佳实践,保持系统的安全性和稳定性。记得定期更新Git和Gogs以获取最新的功能和安全补丁。通过这种方式,即使在离线环境下,也能有效地进行...

    linux下搭建git服务器步骤

    ### Linux下搭建Git服务器步骤详解 #### 环境配置 - **服务器**: CentOS 6.6 + Git (version 1.7.1) - **客户端**: Windows 10 + Git (version 2.8.4.windows.1) #### 第一步: 安装Git 在服务器端与客户端上分别...

    centos中GIT服务器搭建及使用密钥连接.pdf

    本文将详细介绍如何在CentOS操作系统中搭建Git服务器以及如何通过SSH密钥实现安全连接,特别是针对Windows客户端的配置。 首先,我们需要在CentOS服务器上安装Git。可以通过`yum`包管理器来完成这一任务,执行`yum ...

    centos-git服务器搭建.doc

    centos_git服务器搭建 使用Git来部署一个Web站点笔记

    CentOS7安装Git

    通过本文档,我们将详细介绍如何在CentOS 7系统上安装Git,包括从下载源码包到完成安装的整个过程,并对关键步骤进行深入解析。 #### 二、准备工作 在开始安装之前,请确保您的CentOS 7系统已更新至最新版本。可以...

    linux搭建git服务器

    ### Linux下搭建Git服务器...通过以上步骤,可以在Linux服务器上成功搭建Git服务器,并通过SSH公钥验证的方式让客户端安全地访问和操作服务器上的Git仓库。这种方式不仅增强了安全性,同时也简化了用户登录验证的过程。

    在CentOS搭建Git服务器的详细步骤

    在CentOS上搭建Git服务器是企业内部代码管理的重要步骤,它可以提供私有仓库,以便团队成员安全地存储和协作开发代码。以下是在CentOS 6.5 64位操作系统上构建Git服务器的详细步骤: 1. **确认Git是否已安装** ...

    liunx下搭建git服务器

    在Linux系统中搭建Git服务器是开发团队协作的重要一环,它可以帮助团队成员高效地管理和版本控制代码。Git作为分布式版本控制系统,其强大的功能和灵活性深受程序员喜爱。本篇将详细介绍如何在Linux环境下设置一个...

    CentOS下的Git服务器

    ### CentOS下的Git服务器:Gitosis 安装与配置详解 #### 一、Git与Gitosis简介 Git是一款非常流行的分布式版本控制系统,最初由Linux内核的开发者Linus Torvalds为了更好地管理Linux内核的开发而创建。Git因其高效...

    搭建git服务器.docx

    1. 安装 Git 工具:在服务器上安装 Git 工具,Ubuntu 使用 apt install git,Centos 使用 yum install git。 2. 创建 Git 用户和组:使用 useradd git 和 passwd git 命令创建 Git 用户和组,以便与其他用户隔离。 3...

    详解在CentOS下搭建自己的Git服务器

    修改Git服务器上的`/etc/ssh/sshd_config`文件,确保开启RSA认证: ```bash RSAAuthentication yes PubkeyAuthentication yes ``` 保存文件后,重启SSH服务以使更改生效: ```bash systemctl restart ...

    centos7一键搭建git

    Git是分布式版本控制系统,而CentOS 7是基于Red Hat的稳定企业级Linux发行版,因此这个脚本适用于那些在CentOS 7服务器上工作并需要使用Git进行代码管理的开发者。 现在,我们来看看压缩包内的文件“centos7一键...

    在centos下搭建 git+gitolite 安装和部署

    讲速了 在centos 下搭建git服务器 用gitolite 来管理权限 很经典 值得拥有

    git服务器(centos)+客户端安装(tortoiseGit)_文档+安装包

    本教程将详述如何在CentOS操作系统上搭建Git服务器,并在Windows环境下使用TortoiseGit作为客户端进行配置。 一、Git服务器安装(CentOS) 1. 更新系统: 在CentOS中,首先确保系统软件是最新的,执行以下命令: `...

    SHOS搭建git服务器.pdf

    **一、搭建Git服务器的好处** 1. **安全性**:自建Git服务器可以更好地保护代码安全,避免因第三方服务故障导致的数据丢失。 2. **版本管理**:提供版本控制功能,便于进行代码回滚和指定版本操作。 3. **代码共享**...

    搭建git服务器方法

    ### 搭建Git服务器方法详解 随着版本控制系统在软件开发中的广泛应用,Git因其高效、灵活的特点成为首选工具之一。本文旨在为初学者提供一份全面的指南,介绍如何在CentOS 6.5环境下搭建一个基于HTTP基本认证的Git...

    linux环境下搭建git服务器

    在Linux环境中搭建Git服务器是一项常见的任务,特别是在团队协作开发中,自建Git服务器可以提供更好的数据安全性和定制化服务。以下是一份详细的步骤指南,帮助你成功地在Linux上建立Git服务器。 首先,确保你的...

Global site tag (gtag.js) - Google Analytics