Git是全球開發人員使用的開源版本控制系統。接下來,我們將介紹如何建立自己的Git Linux伺服器來託管專案。
Git伺服器用於託管專案的儲存庫,其中包含原始程式碼和其他核心檔案。雖然在大多數情況下,您可以依賴像GitHub這樣的全球知名的Git託管服務,但在某些情況下,最好託管您自己的個人Git伺服器,以增加隱私、可自訂性和安全性。
現在,讓我們學習如何在Linux上設定私有Git伺服器。
在開始設定您的私人Git伺服器之前,您需要擁有存取備用電腦或訂閱雲端提供者的權限。這一點很重要,因為您將把備用電腦設定為Git伺服器,並從本機電腦連接到該伺服器並執行Git操作。
雖然沒有明確的系統需求,但1GB的RAM應該足以讓Git伺服器正常運作。此外,請確保您在電腦上安裝並運行了Linux發行版。
不用說,作為預備步驟,您需要在 Linux 伺服器上安裝 Git。啟動終端機並使用 Linux 發行版的套件管理器來安裝 Git:
在 Debian/Ubuntu 衍生產品上:
sudo apt install git
基於Arch的發行版:
sudo pacman -S git
在 CentOS/RHEL/Fedora 上:
sudo dnf install git
“
在您的系統上安裝 Git 後,請繼續執行以下步驟來設定您的 Linux 系統,以將您的 Git 儲存庫作為 Git 伺服器託管。
#透過 SSH、RDP 或任何其他遠端存取協定連接到您的 Linux 伺服器。或者,如果您使用備用電腦作為伺服器,請將其開啟並建立新使用者帳戶來處理您的儲存庫。
ssh username@address sudo useradd git
“
新增使用者後,使用su指令切換到該使用者:
su git
建立專用git使用者帳戶是一種安全協議,可確保連接到您的 Git 伺服器的用戶端對機器上的資源的可見性和存取權限有限。這使您可以在多個團隊成員將存取您的伺服器的小組專案中安全地協作。
建立一個**.ssh**目錄對於儲存公鑰和其他基本資料是必要的,這些資料將決定誰可以存取這個 Git 伺服器。首先,登入您先前建立的 git 使用者帳戶,建立 .ssh 目錄,並將存取權限限制為僅 git 使用者:
ssh git@address mkdir .ssh chmod 700 .ssh/ touch .ssh/authorized_keys
“
使用chmod命令保護目錄存取權限,以確保除了您之外沒有人可以對其進行更改。進入**.ssh目錄並使用****touch**命令建立一個新檔案“authorized_keys” 。
cd .ssh ssh-keygen -t rsa #如果您没有 id_rsa.pub 文件,请使用此命令 cat id_rsa.pub
“
您必须使用您希望授予对 Git 服务器访问权限的客户端的 SSH 公钥来更新此文件。暂停 SSH 会话并使用文本编辑器或cat 命令在本地计算机中打开**.ssh/id_rsa.pub**文件。该文件包含您的公共加密密钥,当将其写入authorized_keys 文件时,您将无需密码即可访问Git 服务器。
cd .sshvi authorized_keys
复制公钥并启动到 Git 服务器的新 SSH 连接。进入**.ssh**目录,使用文本编辑器打开 authorized_keys 文件并粘贴公钥。保存更改并退出。
从那时起,您应该能够在没有任何密码的情况下连接到服务器。对将连接到服务器的每台计算机重复此步骤。
访问 Linux 服务器并创建一个目录或使用内置目录作为根目录。请记住,这是存储所有存储库的目录。为了更整洁地组织项目,这是一个很好的做法。
mkdir directory_name
创建目录后,继续本指南的最后一步以完成 Git 服务器的设置。
您现在实际上已经完成了 Git 服务器的设置。现在您只需要通过初始化存储库并将远程源添加到本地计算机来开始开发。使用cd命令进入父目录并创建一个**.git**项目目录:
cd parent_director ymkdir 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 服务器的启动和运行,您必须密切注意它的安全状态,因为它是您的个人服务器,维护和保护它免受外部威胁是您的唯一责任。要采用的一些最佳安全实践是:
您可以在 Linux 服务器上实施许多此类安全配置和安全措施,以保护其免受攻击者的侵害并防止未经授权的访问。
以上是如何在 Linux 上設定私有 Git 伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!