Git 服务器搭建

摘要:
GitHub是托管开源代码的免费远程存储库。如果你不想公开源代码,除了购买付费版本外,你只能将Git服务器构建为私有仓库。通过这种方式,公司成员可以克隆。好的,Git服务器已构建

                                                             搭建Git服务器

    GitHub就是一个免费托管开源代码的远程仓库。如果不想公开源代码,除了购买收费版,那就只能自己搭建一台Git服务器作为私有仓库使用。

    准备   

    一台运行Linux的机器:(强烈推荐用Ubuntu或Debian,这样,通过几条简单的apt命令就可以完成安装)

    sudo权限的用户账号

    步骤

    第一步,安装git:     $ sudo apt-get install git   

    第二步,创建一个git用户,用来运行git服务:      $ sudo adduser git   

    第三步,创建证书登录:

               收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。 

    第四步,初始化Git仓库:

               先选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入命令:

         $ sudo git init --bare sample.git  

               Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都                  以.git结尾。然后,把owner改为git

          $ sudo chown -R git:git sample.git

    第五步,禁用shell登录:

               出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

         git:x:1001:1001:,,,:/home/git:/bin/bash   改为   git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
         这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

   

    这样公司成员就可以 clone 了,Ok了,一台 Git服务器就搭成了.

 

免责声明:文章转载自《Git 服务器搭建》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇黑盒测试中的一些小经验MFC 学习之 鼠标移动到Toolbar按钮上显示提示信息(tooltip),状态栏也随之改变下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Ubuntu下SVN服务器安装和配置

一、SVN安装1.安装包$ sudo apt-get install subversion 2.添加svn管理用户及subversion组#添加用户$ sudo adduser  svnuser#添加分组$ sudo addgroup svngroup#添加用户到分组$ sudo adduser  svnuser svngroup        3.创建项...

记Git保存本地密码与删除本地缓存

参考: https://www.jianshu.com/p/77b0340a02f3 https://blog.csdn.net/yunlong782/article/details/50887833?locationNum=7&fps=1 保存密码 git有三种策略查找用户名密码:去缓存中找,去磁盘中找,去钥匙串中找。 ~/User/用户...

腾讯云ubuntu18.04启用root用户

需求场景 腾讯开通的ubuntu主机,默认用户是ubuntu,并且这个ubuntu的权限还是相对比较低的,虽然提升了安全性,可是对于个人站长来说方便才是硬道理,自己也不会用root用户瞎操作。这个时候就需要用权限更大的root用户登录操作了。 步骤一:设置root密码 sudo passwd root回车设置两次密码即可 步骤二:修改ssh登录的配置 很多...

Git——分支详解

  在Git中,假设写了第一个版本的代码VI,然后下面又写了第二个版本的代码V2,那么V2保留的内容是相对于V1新加的内容,他们之间的关系是V2指向V1。这一条线叫做主干:master    此时在V2的基础上,想新加一个功能G1,那么可以在V2的基础上添加一个分支,这个分支G1是创建了一个新环境来写的。再比如说此时想添加另外一个新功能G2,我们同样创...

Ubuntu 18.04 程序设置开机自启动

引子 虽然现在docker、k8s大行其道,我们的世界似乎已经被容器主宰,但是有一些程序还是不适合放到docker里面跑,比如node-exporter、自己写的某些程序,但是这些程序又是必须的, 如果每次重启机器都需要自己去启动一次那真的是太累了,所以这些程序需要自启动。 操作步骤 检查系统目录/lib/systemd/system/rc-local.s...

[git] fatal: This operation must be run in a work tree

正在使用git init --bare 它的成立裸仓库后,,正在使用git 其他命令将出现fatal:This operation must be run in a work tree 问题,途径: 第一touch readme 当你创建一个光秃秃的仓库,因为,不产生readme 文件。情况的出现不能提交。 然后,它可以使用git init,git ad...