git 怎么安裝 Git安裝教程



文章插圖
git 怎么安裝 Git安裝教程

文章插圖
Git 是一個開源版本控制系統,被全球成千上萬的開發人員使用,它用于在源代碼級別跟蹤您的軟件更改,它允許您跟蹤更改,將其恢復到之前的階段并創建文件和目錄的備用版本 。
HTTP Git Server 是一個開源項目,它使用 Nginx 網絡服務器通過局域網 (LAN) 為 Git 存儲庫提供服務,它非常簡單且易于設置,任何人都可以從命令行界面管理它 。
在本教程中,我將解釋如何在 Debian 11 上使用 Nginx 設置 HTTP Git 存儲庫服務器 。
先決條件運行 Debian 11 的服務器 。指向您的服務器 IP 的有效域名 。在您的服務器上配置了 root 密碼 。安裝 Nginx 和其他依賴
首先,您需要安裝 Nginx Web 服務器和其他必需的軟件包來設置 HTTP Git 服務器 。您可以使用以下命令安裝所有這些:
apt-get install nginx git fcgiwrap apache2-utils unzip -y安裝完所有軟件包后,您可以繼續下一步 。
創建 Git 存儲庫
接下來,您需要創建一個目錄來存儲 Git 存儲庫 。讓我們在 Nginx Web 根目錄中創建一個名為myrepo的目錄:
mkdir /var/www/html/myrepo接下來,將目錄更改為myrepo并為用戶創建另一個目錄:
cd /var/www/html/myrepo mkdir user1.git接下來,導航到用戶目錄并使用以下命令初始化 Git 存儲庫:
cd user1.git git --bare init【git 怎么安裝 Git安裝教程】您將獲得以下輸出:
Initialized empty Git repository in /var/www/html/myrepo/user1.git/接下來,使用以下命令更新 Git 服務器信息:
git update-server-info接下來,使用以下命令更改 myrepo 的所有權并設置適當的權限:
chown -R www-data:www-data /var/www/html/myrepo chmod -R 755 /var/www/html/myrepo接下來,創建一個名為 user1 的用戶并設置密碼:
htpasswd -c /var/www/html/myrepo/htpasswd user1您可以設置密碼,如下所示:
New password: Re-type new password: Adding password for user user1您可以使用以下命令檢查您的密碼:
cat /var/www/html/myrepo/htpasswd示例輸出:
user1:$apr1$LoyCEkzA$Fjq5nBbLhBRdaxCQBBUQd1配置 Nginx 以提供 Git 存儲庫
接下來,您需要創建一個 Nginx 虛擬主機配置文件來為 Git 存儲庫提供服務 。
nano /etc/nginx/conf.d/git.conf添加以下幾行:
server {listen 80;root /var/www/html/myrepo;# Add index.php to the list if you are using PHPindex index.html index.htm index.nginx-debian.html;server_name git.yourdomain.com;location / {# First attempt to serve request as file, then# as directory, then fall back to displaying a 404.try_files $uri $uri/ =404;}location ~ (/.*) {client_max_body_size 0;auth_basic "Git Login";auth_basic_user_file "/var/www/html/myrepo/htpasswd";include /etc/nginx/fastcgi_params;fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;fastcgi_param GIT_HTTP_EXPORT_ALL "";fastcgi_param GIT_PROJECT_ROOT /var/www/html/myrepo;fastcgi_param REMOTE_USER $remote_user;fastcgi_param PATH_INFO $1;fastcgi_passunix:/var/run/fcgiwrap.socket;}}完成后保存并關閉文件,然后驗證 Nginx 是否存在任何語法錯誤:
nginx -t您將獲得以下輸出:
nginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful最后,重新啟動 Nginx 服務以應用更改:
systemctl restart nginx您還可以使用以下命令檢查 Nginx 狀態:
systemctl status nginx您將獲得以下輸出:
? nginx.service - A high performance web server and a reverse proxy serverLoaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)Active: active (running) since Sat 2021-12-11 08:00:04 UTC; 2s agoDocs: man:nginx(8)Process: 144985 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)Process: 144986 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)Main PID: 144987 (nginx)Tasks: 2 (limit: 2341)Memory: 2.5MCPU: 42msCGroup: /system.slice/nginx.service??144987 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;??144988 nginx: worker processDec 11 08:00:04 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...Dec 11 08:00:04 debian11 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argumentDec 11 08:00:04 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.從客戶端連接到 Git 存儲庫
至此,Git HTTP服務器與Nginx搭建完成 。現在,是時候從客戶端計算機連接它并進行測試了 。
首先,使用以下命令在客戶端計算機上安裝 Git 包:
apt-get install git -y接下來,使用以下命令為您的項目創建一個目錄:
mkdir project接下來,導航到您的項目目錄并使用以下命令初始化 Git:
cd projectgit init接下來,使用您的電子郵件和用戶名配置 Git:
git config --global user.email " [email protected] " git config --global user.name "user1"接下來,使用以下命令添加您的 Git HTTP 服務器:
git remote add origin http: [email protected] /user1.git接下來,創建一個名為 dev01 的目錄并在其中添加一個文件:
mkdir dev01echo "This is my first application" > dev01/file1接下來,將您創建的目錄和文件添加到 Git 存儲庫:
git add .接下來,使用以下命令提交更改:
git commit -a -m "Add files and directories"您將獲得以下輸出:
[master (root-commit) 0299d83] Add files and directories 1 file changed, 1 insertion(+) create mode 100644 dev01/file1接下來,使用以下命令將您的文件和目錄上傳到 HTTP Git 服務器:
git push origin master系統會要求您提供密碼以訪問 Git 服務器:
Password for 'http:[email protected]': 連接后,您將獲得以下輸出:
Counting objects: 4, done.Writing objects: 100% (4/4), 281 bytes | 281.00 KiB/s, done.Total 4 (delta 0), reused 0 (delta 0)To http://git.yourdomain.com/user1.git * [new branch]master -> master您還可以使用以下命令直接從 Git 服務器下載您的存儲庫:
git clone http: [email protected] /user1.git您將獲得以下輸出:
Cloning into 'user1'...Password for 'http:[email protected]': remote: Enumerating objects: 4, done.remote: Counting objects: 100% (4/4), done.remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0Unpacking objects: 100% (4/4), done.結論
在上面的指南中,您學習了如何在 Debian 11 上使用 Nginx 設置 HTTP Git 服務器,您現在可以在本地開發環境中實施此設置,并使用命令行管理和跟蹤您的項目 。