当前位置:首页 > CN2资讯 > 正文内容

android git绑定服务器 架设git服务器

1天前CN2资讯


建立一个远程的Git仓库其实最好的选择就是使用GitHub,国内也有类似的网站GitCafe。但对于某些珍视代码的商业公司,它们不希望在网上公开公司项目的代码,又不愿意在GitHub之类的网站上使用付费功能;那就只有公司内部自己搭建一台Git服务器咯。

 

一、安装openssh和git

搭建Git服务器,需要所在的Linux电脑上安装了openssh和git:

    sudo apt-get install openssh-server openssh-client

    sudo apt-get install git

 

二、创建一个专门的Linux账户

在Linux上使用一个单独的账户来管理git仓库:

    sudo adduser git

按照提示输入密码即可,比如说,我设置的git用户的密码是"fucksvn"嘿嘿~

 

三、创建Git仓库

切换登录到git用户,在git用户的主目录下建立Git仓库:

    git init --bare Gitest.git

这样就会建立一个裸仓库——我们自己使用git管理代码是不加--bare选项的,裸仓库没有工作区,因为服务器上的Git仓库只是为了共享,方便项目成员交流代码的。

运行完这个命令,在git用户主目录下就会出现一个叫做"Gitest.git"的目录,里面的内容我并不是太关心。

在名字"Gitest.git"中,"Gitest"是项目名字,之后同志们clone的时候就会获得一个此名字的目录,用于来放代码的;".git"的结尾,是用来在Git服务器上标识它是一个Git仓库,正常使用的用户不会看到自己的git版本库名字有".git"结尾。

 

注:这一步的操作是以git用户身份,在git用户的主目录下完成的,生成的"Gitest.git"(或是自己随便起的名字)目录,以及此目录下全部内容的所有者和所在用户组都是"git",不是root或别的什么用户!

 

四、添加Git服务器的用户登录证书

这一步,可以不做,也可以以后做;不添加的话,用户每次使用这个Git仓库(clone之类的操作)都要输入git用户的密码,就是上文我设置的"fucksvn":把git用户的密码告诉项目里的所有用户,似乎并不是一个科学的方法吧。

添加的原理就是把所有用户的ssh公钥写入git用户的ssh授权文件中。

依然登录git用户,将所有用户的id_rsa.pub文件内容写入到git用户主目录下.ssh/authorized_keys中,必须一行只有一个。如果没有.ssh目录与authorized_keys文件,自己建一个就行;但是必须注意用户和用户组都是"git"。

怎么生成id_rsa.pub,好像是用户们运行ssh-keygen –t rsa。这就不多说了。

 

注:每个id_rsa.pub文件都有一行内容,写入authorized_keys中,也必须是一行只有一个用户的公钥,必须一行一个!我们可以这样操作:

    cat id_rsa.pub >> .ssh/authorized_keys

另外,authorized_keys文件的权限是"rw-r--r--",权限必须是这个;如果不是,这个文件会失效:就像它不存在一样。所以,我在前面一直强调使用git用户操作。如果使用别的用户写入,就要修改此文件的权限,一定记得最后再改回原来的权限。

 

五、禁用git用户的shell登录

这是出于安全的考虑:如果git用户的密码泄露,其他人就可以登录Git服务器,就有可能破坏Git代码库。我们可以禁止git用户的shell登录,来防止这种情况的发生。git不能使用shell登录,不会对用户通过ssh操作代码库产生影响。

    sudo vim /etc/passwd

在git对应的那一行将"/home/git:/bin/bash"改为"/home/git:/usr/bin/git-shell"。

 

六、现在就可以使用了

可以使用如下的命令下载Git仓库:(IP地址换成自己服务器的IP)

    git clone [email protected]:/home/git/Gitest.git

这个命令的意思就是:以10.83.34.62电脑上的git用户身份,克隆路径为/home/git/Gitest.git的代码库。路径要写对。这样就可以下载一个Gitest目录到当前目录下,这时候它还是空的,我们可以在里面添加代码并推送到Git远程库:git add … git commit … git push origin master 就不在这里详细说了。

 

 

 

 

Aningsk

2015-10-14

(呃,写了日期才想起来,同学今天生日……)

 

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/31942.html

    分享给朋友:

    “android git绑定服务器 架设git服务器” 的相关文章

    cn2排列公式怎么展开?原来排列组合还可以这么学!

    排列组合作为数学中一个重要的分支,在日常生活和实际问题中都有着广泛的应用。无论是计算概率、解决实际问题,还是在统计学中分析数据,排列组合都是不可或缺的工具。而在排列组合的核心公式中,C(n,2)是一个非常基础但又极其重要的公式。C(n,2)排列公式到底怎么展开?它背后又有哪些深层次的数学原理呢?让我...

    JustHost评测:高性价比VPS服务的最佳选择

    JustHost是一家成立于2006年的俄罗斯主机商。多年来,它在VPS和服务器租用方面积累了相当的声誉,并建立了一个庞大的客户群体。刚开始时,它的目标是帮助用户实现更灵活、高效的网络解决方案,逐渐扩展到如今的多种服务提供。无论你是中小企业还是个人用户,JustHost的产品都能满足不同层次的需求。...

    CN2 GIA:享受高效稳定的国际网络连接服务

    CN2 GIA 概述 CN2 GIA,即全球互联网接入,是由中国电信推出的一个国际专线网络服务。作为CN2系列服务中最顶尖的产品,CN2 GIA 主要面向那些需要稳定、快速国际网络连接的用户。设想一下,有多少次我们正在进行重要的商务沟通,却因为网络问题而中断。针对这样的需求,CN2 GIA无疑提供了...

    LightLayer云服务器评测与应用案例分析

    在我日常工作中,云服务器的选择至关重要,而我最近了解到的LightLayer云服务器,给我留下了深刻的印象。作为Megalayer旗下的品牌,LightLayer在全球多个重要地点部署了服务器,尤其是在美国洛杉矶、中国台湾台北和菲律宾马尼拉。这些选择不仅为用户提供了更快速的访问速度,也为他们的云计算...

    ExtraVM测评:美国优质VPS服务全面解析

    在美国,ExtraVM是一家备受关注的主机商,提供的VPS方案在业内小有名气。这家企业不仅因其强大的硬件配置而受到用户热爱,还因为具备高带宽和强大防御能力而赢得了良好的口碑。对于许多站长来说,这里就像是一块“宝地”,能够满足他们各种需求。 当我第一次了解ExtraVM的时候,我被其在洛杉矶的数据中心...

    DC2:动画创作、网络安全与汽车文化的多重魅力探索

    DC2 可谓是一个充满魔力的词汇,它在不同的领域中有着不同的意义。这种多样性让它成为了动画爱好者、汽车迷,甚至网络安全专家的共同话题。我对这些含义的探索,给我带来了许多启发和乐趣,让我对这个小小的组合字母有了更深刻的理解。 首先,提到 DC2,许多人可能会想到 DC2 动画软件。这款软件不仅在手机动...