搭建本地 Git 服務器

以下是搭建本地 Git 服務器的通用步驟,支持團隊協作或私有倉庫管理:


方法 1:基于 SSH 的簡單部署(適合小團隊)

步驟 1:安裝 Git

在服務器上安裝 Git(以 Ubuntu 為例):

sudo apt update
sudo apt install git
步驟 2:創建 Git 用戶
sudo adduser git          # 新建用戶 "git"
sudo passwd git           # 設置密碼(可選)
步驟 3:初始化裸倉庫
su - git                  # 切換到 git 用戶
mkdir /home/git/repo.git # 創建倉庫目錄(以 "repo" 為例)
cd repo.git
git init --bare          # 初始化裸倉庫(不包含工作目錄)
步驟 4:客戶端克隆與推送

團隊成員可通過 SSH 地址訪問:

# 克隆倉庫(將 <server_ip> 替換為服務器 IP)
git clone git@<server_ip>:/home/git/repo.git# 提交代碼后推送
git add .
git commit -m "Initial commit"
git push -u origin main

方法 2:使用 Gitolite(權限精細管理)

步驟 1:安裝 Gitolite
sudo apt install gitzlib1g
wget https://download.github.com/gitolite-4.11.5.tar.gz
tar -xzvf gitolite-4.11.5.tar.gz
cd gitolite-4.11.5
sudo mkdir -p /usr/share/gitolite
sudo make install
步驟 2:配置管理員權限
# 將你的公鑰(id_rsa.pub)上傳到服務器
ssh git@<server_ip> 'git init'  # 初始化管理員權限
步驟 3:管理倉庫與權限

通過 git@gitserver:gitolite-admin 倉庫編輯 conf/gitolite.conf 文件,定義用戶組和倉庫權限:

repo    repo1RW+     =   admin user1repo    repo2RW      =   @dev-team

方法 3:使用 Gitea(Web 界面 + 全功能)

步驟 1:下載并安裝 Gitea
wget https://dl.gitea.io/gitea/release/gitea-1.20.3-linux-amd64
chmod +x gitea-1.20.3-linux-amd64
sudo mv gitea-1.20.3-linux-amd64 /usr/local/bin/gitea
步驟 2:啟動服務
sudo mkdir -p /data/gitea
sudo ./usr/local/bin/gitea web -workDir "/data/gitea"
步驟 3:訪問 Web 界面

瀏覽器訪問 http://<server_ip>:3000,按提示創建管理員賬號并配置倉庫。


關鍵注意事項

  1. SSH 密鑰管理

    • 客戶端需提前生成 SSH 密鑰(ssh-keygen),并將公鑰(id_rsa.pub)添加到服務器。
    • 若遇到權限問題,確保倉庫目錄權限為 git 用戶所有:
      chown -R git:git /home/git/repo.git
      chmod -R 755 /home/git/repo.git
      
  2. 防火墻配置

    • 開放服務器的 SSH 端口(默認 22)或 Gitea 端口(如 3000):
      sudo ufw allow 22/tcp
      sudo ufw allow 3000/tcp
      
  3. 備份與安全

    • 定期備份裸倉庫目錄(如 /home/git/repo.git)。
    • 禁用 git 用戶的 Shell 登錄權限(提升安全性):
      sudo usermod -s /usr/bin/git-shell git
      

選擇建議

  • 簡單快速:SSH 裸倉庫(適合 3-5 人團隊)。
  • 權限精細:Gitolite(支持復雜權限分組)。
  • 全功能 Web 界面:Gitea(接近 GitHub/GitLab 體驗)。

如果需要更具體的配置(如 HTTPS 訪問、Docker 部署等),請告知您的需求!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/95033.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/95033.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/95033.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Matplotlib】中文顯示問題

中文顯示問題本地Mac上作圖&#xff0c;可以方便地實現中文字體顯示。比如在Jupter中&#xff0c;通過&#xff1a;方法一&#xff1a;不下載字體庫即可實現中文顯示 (MAC)plt.rcParams[font.family][Arial Unicode MS]方法二&#xff1a;下載指定字體訓即可實現中文顯示plt.rc…

從“單體崩潰”到“穩定如山”:Java 構建高可用、低耦合架構實戰指南

引言&#xff1a; 你是否經歷過這樣的痛苦&#xff1f;某個模塊突然異常&#xff0c;整個系統瞬間崩盤&#xff0c;排查日志堆積如山&#xff0c;客戶投訴不斷。系統耦合嚴重、容錯性差&#xff0c;成了上線最忌憚的“隱雷”。 而今天&#xff0c;我們要帶你深入剖析如何通過事…

人工智能正在學習自我提升的方式

每周跟蹤AI熱點新聞動向和震撼發展 想要探索生成式人工智能的前沿進展嗎&#xff1f;訂閱我們的簡報&#xff0c;深入解析最新的技術突破、實際應用案例和未來的趨勢。與全球數同行一同&#xff0c;從行業內部的深度分析和實用指南中受益。不要錯過這個機會&#xff0c;成為AI領…

Numpy基礎(廣播機制)

廣播機制 Numpy的Universal functions中要求輸入的數組shape是一致的&#xff0c;當數組的shape不相等 時&#xff0c;則會使用廣播機制。不過&#xff0c;調整數組使得shape一樣&#xff0c;需要滿足一定的規則&#xff0c;否則將 出錯。這些規則可歸納為以下4條。 1&#xff…

reuse: for booting my spring project with mvn in Windows command line

boot.bat echo off setlocal enabledelayedexpansion:: 定義幫助信息 set HELP_MSG使用方法: %0 [選項,可選-m,-j,-h] [參數...]:: 默認啟動方式為 mvn set MODEmvn set ARGS:: 解析命令行參數 :parse_args if "%~1""" goto end_parseif "%~1"&q…

NodeJs學習日志(4):路由合并_環境配置_常用文件目錄

路由合并_環境配置_常用文件目錄 路由合并 // routes/routes.js const express require(express); const router express.Router();// 合并子路由 var indexRouter require(../routes/index); var usersRouter require(../routes/users);router.use(/, indexRouter); route…

?TRAE SOLO + Holopix AI | 輕松實現 “虛假廣告“-轉[特殊字符]割草小游戲

引言 &#x1f636; 兩周前 (7.21) Trae-國際版 正式發布「SOLO」模式&#xff0c;需要 Pro 賬戶&#xff0c;邀請碼一度 “難求”&#xff0c;海鮮市場還有人掛出 500塊的 “天價”&#xff0c;這都能炒&#xff1f;我是無法理解的&#x1f937;?♀?&#xff0c;目前一個月…

redis集群-本地環境

* Linux 本地集群&#xff1a;3主3從yum install -y gccyum install -y wgetyum install -y vimwget http://download.redis.io/releases/redis-7.2.5.tar.gztar -zxvf redis-7.2.5.tar.gzcd redis-7.2.5/makemake PREFIX/usr/local/redis install# 配置系統環境變量vim /etc/p…

海關 瑞數 失信企業 逆向 分析 后綴 rs

聲明: 本文章中所有內容僅供學習交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包內容、敏感網址、數據接口等均已做脫敏處理&#xff0c;嚴禁用于商業用途和非法用途&#xff0c;否則由此產生的一切后果均與作者無關&#xff01;部分python代碼headers {Accept: appl…

用 Postman 的 Tests 腳本,這行代碼斷言接口返回,自動化測試省一半事

本文聚焦 Postman 的 Tests 腳本在接口自動化測試中的核心作用&#xff0c;闡述如何通過編寫 Tests 腳本實現接口返回的自動斷言&#xff0c;從而大幅提升測試效率。文中詳細介紹了 Tests 腳本的基礎語法、常用斷言方法、實戰案例及優化技巧&#xff0c;涵蓋從簡單響應狀態碼校…

7、西門子PLC基礎術語:數據單位、存儲區域、尋址方式、字節序

一、數據單位&#xff08;數據長度類型&#xff09;術語名稱位數所占字節說明Bit位1 bit1/8 Byte最小數據單位&#xff08;0或1&#xff09;BByte 字節8 bit1 Byte字節單位WWord 字16 bit2 Byte通常用于整數、狀態字等DWDouble Word 雙字32 bit4 Byte常用于浮點、雙整數 1雙字 …

大型動作模型LAM:讓企業重復任務實現80%效率提升的AI技術架構與實現方案

現代企業運營中&#xff0c;重復性任務的自動化處理已成為提升組織效率的核心需求。從基礎數據錄入到復雜工作流管理&#xff0c;企業持續尋求技術創新來降低人工成本、減少操作錯誤&#xff0c;并將人力資源重新配置到更具價值的戰略性工作中。大型動作模型&#xff08;Large …

部署Web UI自動化測試平臺:SeleniumFlaskTester

1. Python環境準備 推薦Python3.11,可從https://www.python.org/downloads/release/python-3119/ 下載&#xff0c;見下圖&#xff1a; 安裝后&#xff0c;cmd命令行查看版本&#xff1a;python --version 2. 下載源碼包 從 https://gitee.com/ligaopan/SeleniumFlaskTester…

計算機網絡:到底什么是可變長子網掩碼VLSM?

VLSM 是可變長子網掩碼,對應的是 FLSM(固定長子網掩碼) FLSM 中,子網掩碼是固定的,比如一個 C 類地址用 255.255.255.128(/25)劃分,每個子網只能有 126 臺主機,但如果實際需要的主機數不同,比如有的子網需要 20 臺,有的需要 50 臺,FLSM 會導致地址浪費。所以 VLSM …

太極行業觀察:從傳統技藝到數字化轉型的演變|創客匠人

太極拳作為中華傳統文化的重要組成部分&#xff0c;在全球范圍內具有廣泛影響力。目前全球太極習練者已超過一億人&#xff0c;僅中國大陸就有約千萬固定練習者。每年與太極相關的賽事、培訓、教學、養生旅游等活動&#xff0c;形成了數百億元的市場規模。盡管如此&#xff0c;…

Kafka服務端NIO操作原理解析(二)

Kafka系列文章 基于Kafka2.1解讀Producer原理 基于Kafka2.1解讀Consumer原理 Kafka服務端NIO操作原理解析&#xff08;一&#xff09; 文章目錄Kafka系列文章前言一、基本認知二、Acceptor的主體流程2.1 run方法源碼2.2 acceptNewConnections方法源碼2.3 主體邏輯流程示意圖三…

當服務器負載過高時該怎么辦?

當服務器出現負載過高時&#xff0c;要對內存、網絡等硬件設備進行查看&#xff0c;其中CPU是重中之重&#xff0c;對CPU使用率進行查看和了解&#xff0c;確定哪些進程占用了大量CPU資源&#xff0c;如果是某個應用程序進程導致CPU高負載&#xff0c;需分析該程序是否存在算法…

跨境電商增長突圍:多維變局下的戰略重構與技術賦能

在全球化商業浪潮與數字技術迭代的雙重驅動下&#xff0c;跨境電商行業正經歷前所未有的變革。平臺規則的動態調整、市場需求的非線性波動、技術工具的持續革新&#xff0c;共同構成了復雜多變的競爭格局。對于賣家而言&#xff0c;如何在不確定性中錨定增長路徑&#xff0c;已…

軟件運行時 ffmpeg.dll 丟失怎么辦?從原因排查到完美修復的完整方案

在計算機的軟件生態系統中&#xff0c;ffmpeg.dll 扮演著一個至關重要卻又常被普通用戶忽視的角色。這個看似普通的文件&#xff0c;實際上是眾多多媒體相關軟件能夠正常運行的基石之一。當你的視頻剪輯軟件突然無法導入特定格式的視頻&#xff0c;或者心愛的游戲在啟動時彈出令…

Axure 11

下載 Axure RP - UX Prototypes, Specifications, and Diagrams in One Tool 激活 Axure RP11 2025-8-7日親測有效&#xff1a; 49bb9513c40444b9bcc3ce49a7a022f9 漢化 Axure Rp 11 安裝、漢化、授權_axure11漢化包-CSDN博客 中文社區 https://www.axure.com.cn/