Git 教程之服务器搭建详解

 更新时间:2016年09月08日 14:47:32   作者:菜鸟教程  
本文主要介绍Git 服务器搭建的知识,这里整理了详细的资料,和命令详解,有需要的小伙伴可以参考下

Git 服务器搭建

上一章节中我们远程仓库使用了 Github,Github 公开的项目是免费的,但是如果你不想让其他人看到你的项目就需要收费。
这时我们就需要自己搭建一台Git服务器作为私有仓库使用。
接下来我们将以 Centos 为例搭建 Git 服务器。

1、安装Git

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
$ yum install git

接下来我们 创建一个git用户组和用户,用来运行git服务:

$ groupadd git
$ adduser git -g git

2、创建证书登录

收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。

如果没有该文件创建它:

$ cd /home/git/
$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys


3、初始化Git仓库

首先我们选定一个目录作为Git仓库,假定是/home/gitrepo/w3cschoolcc.git,在/home/gitrepo目录下输入命令:

$ cd /home
$ mkdir gitrepo
$ chown git:git gitrepo/
$ cd gitrepo

$ git init --bare w3cschoolcc.git

Initialized empty Git repository in /home/gitrepo/w3cschoolcc.git/

以上命令Git创建一个空仓库,服务器上的Git仓库通常都以.git结尾。然后,把仓库所属用户改为git:

$ chown -R git:git w3cschoolcc.git

4、克隆仓库

$ git clone git@192.168.45.4:/home/gitrepo/w3cschoolcc.git
Cloning into 'w3cschoolcc'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

192.168.45.4 为 Git 所在服务器 ip ,你需要将其修改为你自己的 Git 服务 ip。

这样我们的 Git 服务器安装就完成了,接下来我们可以禁用 git 用户通过shell登录,可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

git:x:503:503::/home/git:/bin/bash

改为:

git:x:503:503::/home/git:/sbin/nologin

相关文章

  • Anaconda中pkgs文件夹及如何清空PKGS

    Anaconda中pkgs文件夹及如何清空PKGS

    在anaconda中,最安全的安装和升级命令是conda install XXX,而python中是pip,但在anaconda下依然可以使用pip升级,这样一些依赖可能会因为更新后的版本过高出现异常,本文给大家分享Anaconda中pkgs文件夹及pkgs文件清理方法,感兴趣你跟随小编一起学习吧
    2022-11-11
  • git设置用户名密码的示例代码

    git设置用户名密码的示例代码

    这篇文章主要介绍了git设置用户名密码的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Windows 系统下的 Git 2.7 最新下载及安装教程图文详解

    Windows 系统下的 Git 2.7 最新下载及安装教程图文详解

    这篇文章主要介绍了Windows 系统下的 Git 2.7 最新下载及安装教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • 两分钟学会如何在github托管代码

    两分钟学会如何在github托管代码

    这篇文章主要介绍了两分钟学会如何在github托管代码,本篇内容针对不会Git的小童鞋,大神们可以绕过,错误之处谢谢指正
    2014-10-10
  • Git如何修改已提交的commit注释

    Git如何修改已提交的commit注释

    这篇文章主要介绍了Git如何修改已提交的commit注释问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 漂流瓶推送需求的逻辑实现代码

    漂流瓶推送需求的逻辑实现代码

    假想有一个瓶子池,当点击附近标签的时候要从池里面推送一个瓶子给用户.推送按照一定的逻辑对池里的瓶子排序,排序规则主要由两个数据决定:瓶子上次推送时间和与用户之间的距离.
    2010-12-12
  • 防止删库跑路及高级代码投毒技巧

    防止删库跑路及高级代码投毒技巧

    这篇文章主要为大家介绍了防止删库跑路及高级代码投毒技巧详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 搭建一个开源项目两种方式安装git的详细教程

    搭建一个开源项目两种方式安装git的详细教程

    这篇文章主要介绍了搭建一个开源项目两种方式安装git,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • vscode通过多个跳板机连接目标机的方法(两种方案亲测成功)

    vscode通过多个跳板机连接目标机的方法(两种方案亲测成功)

    这篇文章主要介绍了vscode通过多个跳板机连接目标机的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-03-03
  • 详解idea切换git账号的两个方法

    详解idea切换git账号的两个方法

    这篇文章主要介绍了详解idea切换git账号的两个方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08

最新评论