闫价飞涨 發表於 2023-9-19 00:00:00

阿里云Linux-CentOS系统下-搭建Git服务器详解

<p>
        <strong> 阿里云Linux-CentOS系统下-搭建Git服务器</strong></p>
<p>
        步骤总结:</p>
<p>
        <strong>1. 安装git</strong></p>
<p>
        首先确认服务器是否安装Git</p>
<p>
        在Xshell中输入命令:<span>$ rpm -qa git </span></p>
<p>
        结果如下表示已经安装:</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="阿里云Linux-CentOS系统下-搭建Git服务器详解" alt="阿里云Linux-CentOS系统下-搭建Git服务器详解" src="https://zhuji.jb51.net/uploads/img/202305/1a81a6593eaec9d1ad7441025f1541d9.jpg"></p>
<p>
        如果未安装就安装git</p>
<p>
        在Xshell中输入:<span>$ yum install git</span></p>
<p>
        <strong>2. 创建一个git用户,用来运行git服务:</strong></p>
<p>
        在Xshell中输入:<span>$ sudo adduser git </span></p>
<p>
        此时在阿里云服务器的根目录:/home文件夹下新增一个文件夹git</p>
<p>
        按这个层级建立文件用于存放客户端用户的公钥:/home/git/.ssh/authorized_keys</p>
<p>
        在本地客户端的git bash中通过命令:</p>
<p>
        <span>$ ssh-keygen -t rsa -C"youremail@example.com"</span></p>
<p>
        或</p>
<p>
        <span>$ ssh-keygen</span></p>
<p>
        命令生成公钥,默认在c盘:用户/.ssh中id_rsa.pub文件是公钥,用记事本打开复制粘贴到服器的/home/git/.ssh/authorized_keys文件中即可。</p>
<p>
        <strong>3. 服务器中建立git仓库</strong></p>
<p>
        自己在服务器根目录新建一个专门用于存放仓库的git文件夹</p>
<p>
        通过如下代码创建并初始化仓库,此时是以个空仓库:</p>
<p>
        <span>$ sudo chown -R git:git sample.git</span></p>
<p>
        下一步代码必须执行一次,可能是获取推送权限并防止用户修改工作区,如果不执行的话无法从本地推送到git服务器:</p>
<p>
        <span>$ sudo chown -R git:git sample.git</span></p>
<p>
        <strong>4. 禁止git用户登录shell</strong></p>
<p>
        出于安全考虑,创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:</p>
<p>
        <span>git:x:1001:1001:,,,:/home/git:/bin/bash </span></p>
<p>
        改为:</p>
<p>
        <span>git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell </span></p>
<p>
        这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。</p>
<p>
        <strong>5. 克隆git服务器上建立的sample.git仓库</strong></p>
<p>
        在本地git bash中通过命令定位到某个用于存放克隆文件的文件夹下,输入如下克隆命令:</p>
<p>
        <span>$ git clone </span><span>git@xxx.xxx.xxx.xxx:/xxx/git/sample.git</span></p>
<p>
        克隆服务器仓库命令的格式为:</p>
<p>
        git clone git@服务器公网IP:仓库存放于服务器的路径</p>
<p>
        <strong>6. 将本地git仓库与git服务器仓库关联</strong></p>
<p>
        在本地新建并初始化一个sample仓库,需要和git服务器上的仓库名称相同。</p>
<p>
        git服务器上建立的仓库为sample.git,本地的不用带.git。</p>
<p>
        服务器和本地的仓库都有了,通过以下步骤将两者关联起来:<br>
        在本地git bash中定位到本地仓库,输入并执行下方代码:</p>
<p>
        <span>$ git remote add sample git@xxx.xxx.xxx.xxx:/xxx/git/sample.git</span></p>
<p>
        在git bash输入:<span>$ git remote -v </span>可以查看本地git仓库相关联的远程git仓库。</p>
<p>
        在git bash输入:<span>$ git push -u sample master </span>推送本地仓库主分支到远程git仓库,首次推送需要加-u。</p>
<p>
        以后推送直接用在git bash输入:<span>$ git push sample master </span>即可。</p>
<p>
        感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!</p>
<p>
        原文链接:http://blog.csdn.net/leweionline/article/details/51502847?locationNum=4&amp;fps=1</p>
頁: [1]
查看完整版本: 阿里云Linux-CentOS系统下-搭建Git服务器详解