Git 是全球开发人员使用的开源版本控制系统。下面介绍如何创建自己的 Git Linux 服务器来托管项目。
设置 Git 服务器的先决条件
在您开始设置您的私有 Git 服务器之前,您必须有权访问备用机器或订阅云提供商。这一点很重要,因为您将设置备用机器作为 Git 服务器,您将从本地机器连接到该服务器并执行 Git *** 作。虽然没有明确定义的系统要求,但 1 GB 的 RAM 应该足以让 Git 服务器正常运行。此外,请确保您在机器上安装并运行了 Linux 发行版。
第 1 步:在 Linux 服务器上下载并安装 Git

sudo apt install git
基于Arch的发行版:
sudo pacman -S git
在 CentOS/RHEL/Fedora 上:
sudo dnf install git
在您的系统上安装 Git 后,请继续执行以下步骤来配置您的 Linux 系统,以将您的 Git 存储库作为 Git 服务器托管。
第 2 步:设置 Git 用户帐户

ssh username@address
sudo useradd git

su git
创建专用git用户帐户是一种安全协议,可确保连接到您的 Git 服务器的客户端对机器上的资源的可见性和访问权限有限。这使您可以在多个团队成员将访问您的服务器的小组项目中安全地协作。
第 3 步:创建 .ssh 目录并添加授权密钥
创建一个.ssh目录对于存储公钥和其他基本数据是必要的,这些数据将决定谁可以访问这个 Git 服务器。首先,登录到您之前创建的 git 用户帐户,创建 .ssh 目录,并将访问权限限制为仅 git 用户:
ssh git@address
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys

cd .ssh
ssh-keygen -t rsa #如果您没有 id_rsa.pub 文件,请使用此命令
cat id_rsa.pub


cd .ssh
vi authorized_keys
复制公钥并启动到 Git 服务器的新 SSH 连接。进入.ssh目录,使用文本编辑器打开 authorized_keys 文件并粘贴公钥。保存更改并退出。从那时起,您应该能够在没有任何密码的情况下连接到服务器。对将连接到服务器的每台计算机重复此步骤。
第 4 步:创建一个目录来存储您的所有存储库
访问 Linux 服务器并创建一个目录或使用内置目录作为根目录。请记住,这是存储所有存储库的目录。为了更整洁地组织项目,这是一个很好的做法。
mkdir directory_name
创建目录后,继续本指南的最后一步以完成 Git 服务器的设置。
第 5 步:通过添加新项目启动开发
您现在实际上已经完成了 Git 服务器的设置。现在您只需要通过初始化存储库并将远程源添加到本地计算机来开始开发。使用cd命令进入父目录并创建一个.git项目目录:
cd parent_directory
mkdir new_project.git
现在,初始化一个裸 git 存储库:
git init --bare
初始化存储库后,是时候在本地计算机上添加远程源了:
git remote add origin name git@address:new_project.git
这就是您在服务器端需要做的所有事情。现在任何经过身份验证的客户端都可以执行常规的 Git *** 作,例如推送、拉取、合并、克隆等。要开始新项目,每次创建新项目时都必须重复此步骤。通过执行 git push 测试其功能:
touch testfile
git add testfile
git commit -m "test file"
git push name master
git clone git@address:new_project.git
您的文件将成功推送到远程源。要交叉检查推送 *** 作是否有效,您可以克隆存储库,您应该在存储库中找到测试文件。
Git 服务器的安全提示
随着 Git 服务器的启动和运行,您必须密切注意它的安全状态,因为它是您的个人服务器,维护和保护它免受外部威胁是您的唯一责任。要采用的一些最佳安全实践是:
-
禁用密码登录
-
将默认 shell 更改为 git-shell。这限制了登录用户发出任何非 git 命令
-
为 SSH 使用自定义端口
-
禁用root用户登录
- 定期备份数据
您可以在 Linux 服务器上实施许多此类安全配置和安全措施,以保护其免受攻击者的侵害并防止未经授权的访问。
审核编辑:汤梓红欢迎分享,转载请注明来源:内存溢出
评论列表(0条)