欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > Git仓库的创建

Git仓库的创建

2025/6/8 17:07:04 来源:https://blog.csdn.net/Dancen/article/details/148479020  浏览:    关键词:Git仓库的创建

Git服务器准备

假设Git所在服务器为Ubuntu系统,IP地址10.17.1.5。

一. 准备运行git服务的git用户,这里用户名就直接设定为git。

1. 创建一个git用户组,并创建git用户。

sudo groupadd git

sudo useradd git -g git

2. 创建git用户目录,以及密钥认证文件。

sudo mkdir -p /home/git/.ssh

sudo touch /home/git/.ssh/authorized_keys

cd /home

sudo chown -R git:git git

3. 确保git用户的认证文件权限正确。

sudo chmod 700 /home/git/.ssh

sudo chmod 600 /home/git/.ssh/authorized_keys

4. 禁用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每次一登录就自动退出。

二. 安装git。

安装git:

sudo apt install git

三. 创建git仓库。

1. 先创建一个目录作为Git仓库。

Git仓库目录通常命名为*.git,假定是/data/git/demo.git。

创建目录:

mkdir -p /data/git/demo.git

将目录所有者改为git用户:

cd /data/git

sudo chown -R git:git demo.git

2. 初始化Git仓库。

cd /data/git

sudo git init --bare demo.git

四. 为使用Git服务的用户创建密钥。

1. 生成密钥文件。

假设为张三、李四两名开发者分别准备密钥。

使用ssh-keygen工具为张三创建密钥对:

ssh-keygen -t rsa

创建密钥的过程中,一路点击回车就可以了,不需要填任何东西。

生成的公钥和私钥文件默认存储在用户目录下的.ssh目录中。

例如linux系统中root用户执行ssh-keygen生成的密钥文件位于:

/root/.ssh

windows系统中dancen用户生成的密钥文件位于:

C:\Users\dancen\.ssh

其中,id_rsa.pub为公钥,id_rsa为私钥,这里重命名密钥文件为:

id_rsa_zhangsan.pub

id_rsa_zhangsan

再次使用ssh-keygen工具为李四创建密钥对:

ssh-keygen -t rsa

然后重命名密钥文件为:

id_rsa_lisi.pub

id_rsa_lisi

2. 添加公钥至Git服务器的git用户认证文件中。

把公钥添加到git服务器上git用户的认证文件/home/git/.ssh/authorized_keys。

依次把id_rsa_zhangsan.pub、id_rsa_lisi.pub的内容添加到authorized_keys中,authorized_keys内容如下:

# zhangsan

ssh-rsa ****** ad\zhangdan@gzy-20210126-02

# lisi

ssh-rsa ****** ad\zhangdan@gzy-20210126-02

3. 将私钥提供给使用Git服务的用户。

分别将id_rsa_zhangsan.pub、和id_rsa_lisi.pub提供给使用Git服务的zhangsan和lisi。

Git客户端准备

一. 在客户端部署Git私钥。

使用Git服务的用户需要将Git服务器管理员提供的私钥文件妥善存储。

以zhangsan为例,假设其使用windows系统,通常将私钥文件存储到用户目录下的.ssh目录:

C:\Users\zhangsan\.ssh

用户在使用git时默认匹配的私钥文件为:

C:\Users\zhangsan\.ssh\id_rsa

如果私钥文件没有部署在默认位置,或者没有使用默认名称id_rsa,则用户在使用git时需要临时指定私钥文件。

此时,为了避免每次都临时指定密钥文件,可通过客户端的配置文件config明确指定私钥文件和服务器的对应关系。

config文件位置:

C:\Users\zhangdan\.ssh\config

在config中添加如下内容:

Host 10.17.1.5

    HostName 10.17.1.5

    User git

    IdentityFile ~/.ssh/id_rsa_zhangsan

如此,当用户通过ssh连接10.17.1.5服务器时,将自动使用id_rsa_zhangsan作为私钥。如果存在多个ssh服务器和私钥映射关系,则在config中继续添加配置即可。

二. 克隆git仓库。

1. 安装git。

1. 配置git用户身份。

git config --global user.name "zhangsan"

git config --global user.email "zhangsan@ad.com"

解释

git config --global user.name "Your Name":这条命令设置全局的 Git 用户名,所有的 Git 提交都会使用这个名字。

git config --global user.email "email@example.com":这条命令设置全局的 Git 用户电子邮件地址,所有的 Git 提交都会使用这个电子邮件地址。

2. 克隆git仓库。

git clone git@10.17.1.5:/data/git/demo.git

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词