在 Ubuntu 20.04 上安裝和配置 Git 服務器

在 Ubuntu 20.04 上安裝和配置 Git 服務器

在本教程中,我們將看到如何在 Ubuntu 20.04 上安裝和配置 git 服務器

Git 是一個分佈式版本控制系統,用於在軟件開發過程中跟踪源代碼的變化。它旨在協調程序員之間的工作,但它可用於跟踪任何一組文件中的更改。其目標包括速度、數據完整性以及對分佈式非線性工作流的支持。

Git 是一個免費的開源分佈式版本控制系統,旨在快速高效地處理從小到大的所有項目。

先決條件

  • 安裝了 Ubuntu 20.04 的專用服務器或 KVM VPS。
  • root 用戶訪問權限或具有管理權限的普通用戶。
  • 添加服務器主機名的 DNS A 記錄。例如,我們使用 hub.neotechsystems.net 作為我們的服務器主機名。或者使用您的服務器 IP 地址代替 hub.neotechsystems.net。

在 Ubuntu 20.04 上安裝和配置 Git 服務器

讓我們開始安裝。Git有兩種安裝方式。

選項 1 是使用 APT 安裝 Git

使服務器保持最新

# apt update -y

安裝 Git

# apt install git -y

驗證安裝:

# git --version

選項 2 是從源安裝 git

你可以從發布頁面下載最新版本的 Git 。它需要更長的時間,並且不會通過 yum 包管理器進行更新和維護。但它允許您下載比 CentOS 存儲庫中可用的版本更新的版本,並讓您對可以包含的選項進行一些控制。

一、安裝依賴

# apt install libz-dev libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext cmake gcc

安裝完成後,進入發布頁面並複制下載鏈接。您可以找到 tar.gz,右鍵單擊它並複制鏈接。

現在,使用 wget 命令將其下載到服務器中並重命名:

# https://github.com/git/git/archive/refs/tags/v2.31.1.tar.gz -O git.tar.gz

下載完成後,我們可以解壓tar文件

# tar -zxf git.tar.gz

現在,轉到該目錄開始配置我們的構建。

# cd git-*

現在,您可以通過鍵入以下兩個命令來製作包並安裝它:

# make prefix=/usr/local all
# make prefix=/usr/local install

現在,替換 shell 進程,以便使用我們剛剛安裝的 Git 版本:

# exec bash

我們已經成功構建並安裝了 Git。要驗證它,請使用以下命令檢查版本:

# git --version

配置 Git

添加用戶來處理存儲庫:

# adduser git

然後給你的 Git 用戶一個密碼:

# passwd git

以 git 用戶身份登錄

# su - git

使用以下命令啟動一個新的空存儲庫:

# git init --bare ~/neotechsystems.git

通過複製示例文件來啟用更新後掛鉤,如下所示:

# cd neotechsystems.git/hooks/
# cp post-update.sample post-update

這就是服務器端。

現在讓我們去客戶端:

安裝 Git

# apt install git -y

安裝完成後,開始配置 Git

配置 Git

提交有關您自己的信息,以便生成帶有正確信息的提交消息:

# git config --global user.name "git'
# git config --global user.email "[email protected]'

創建一個目錄,您可以在其中保存所有項目

# mkdir ~/dev
# cd ~/dev

現在,創建一個克隆我們之前在服務器中創建的 neotechsystems.git 存儲庫

# git clone [email protected]:~/neotechsystems.git neotechsystems.git
Cloning into 'neotechsystems.git’…

它會要求輸入 git 用戶密碼:

[email protected]’s password:

warning: You appear to have cloned an empty repository.

轉到存儲庫

# cd neotechsystems.git

您可以看到存儲庫是空的,因此讓我們創建一些文件

# echo "my test file' > file1.txt

將這些文件添加到我們的 git 存儲庫

# git add .

提交更改

# git commit -am "My First Commit'
[master (root-commit) b337197] My First Commit
1 file changed, 1 insertion(+)
create mode 100644 file1.txt

將這些更改推送到 hub.neotechsystems.net 的遠程 git 存儲庫

# git push origin master

你會被要求輸入密碼,輸入 git 用戶密碼

[email protected]’s password:
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 229 bytes | 76.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To hub.neotechsystems.net:~/neotechsystems.git
* [new branch] master -> master

驗證更改,訪問 git 服務器並運行以下命令查看日誌

# git log

輸出將類似於:

commit b3371975bd44fb4aca344e365fa635180967f7fe (HEAD -> master)
Author: git
Date: Wed Apr 14 10:06:06 2021 +0000

My First Commit

我們已經在 Ubuntu 20.04 上成功安裝和配置了 Git 服務器。


如何使用 Python 作為命令行計算器

如何使用 Python 作為命令行計算器

雖然您可以在計算機上使用圖形計算器,但 Python 編程語言解釋器可以兼作桌面計算器。它在 Python 社區中非常流行,以至於官方教程中都提到了它。下面介紹如何將 Python 用作計算器。

面向程序員的 8 個最佳 Java 博客

面向程序員的 8 個最佳 Java 博客

作為程序員,你應該接受挑戰才能生存,並在開發或編程領域創造一些奇蹟。因此,如果您正在尋求學習高級編程語言以提高您的職業技能,Java 是最好的前景之一。

初學者開始使用 Python 的 7 個重要命令

初學者開始使用 Python 的 7 個重要命令

如果您有一個全面的路線圖,詳細說明初學者應學習哪些概念以及如何進一步進步以達到下一個里程碑,那麼學習 Python 等新編程語言將變得輕而易舉。即使是中級程序員也應該經常複習他們的基礎知識,為自己打下堅實的基礎。

響應式網頁設計原則

響應式網頁設計原則

如今,構建一個根據瀏覽器或設備調整其用戶界面的網站或應用程序是一種常見的做法。有兩種方法可以實現這一目標。第一個涉及為不同的設備創建不同版本的網站或應用程序。但它效率低下,並可能導致不可預測的錯誤。

如何使用 C++、Python 和 JavaScript 計算數字中的位數

如何使用 C++、Python 和 JavaScript 計算數字中的位數

處理數字是編程的一個組成部分。每種編程語言都支持以多種不同方式操作數字。在本文中,您將學習如何使用迭代、基於日誌和基於字符串的方法查找整數中的總位數。

用於容器管理的 9 個最佳 Docker 替代方案

用於容器管理的 9 個最佳 Docker 替代方案

容器對於虛擬環境中的軟件開發、部署和管理非常有益。Docker 在容器化過程中很有用,但它不是唯一的平台。如果您正在尋找 Docker 的替代品,那就別無所求。此列表展示了一些功能豐富且高效的 Docker 替代方案,可用於您的下一個項目。

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

如何在您的 WordPress 帖子中嵌入推文

如何在您的 WordPress 帖子中嵌入推文

在您的 WordPress 帖子中嵌入第三方服務是一種吸引訪問者興趣的令人興奮的方式。嵌入的內容還提供了使掃描更容易的視覺提示。WordPress 使添加此類內容變得容易。

如何使用 npkill 刪除節點模塊文件夾

如何使用 npkill 刪除節點模塊文件夾

Node.js 是一個 JavaScript 運行時環境,允許您在 Web 瀏覽器之外運行 JavaScript,使其成為開發各種應用程序的流行選擇。它的流行部分是由於大量的 NPM 包可以簡化開發人員的體驗。

如何編寫和編譯你的第一個 Solidity 代碼

如何編寫和編譯你的第一個 Solidity 代碼

Solidity 是以太坊區塊鏈上智能合約使用的編程語言。它是一種靜態類型的、面向對象的編程語言。