
- Git 入門
- Git - 首頁
- Git - 版本控制
- Git - 基本概念
- Git - 命令列
- Git - 安裝
- Git - 首次設定
- Git - 基本命令
- Git - 獲取幫助
- Git - 工具
- Git - 速查表
- Git - 術語
- Git 分支
- Git - 簡述分支
- Git - 建立新分支
- Git - 切換分支
- Git - 分支和合並
- Git - 合併衝突
- Git - 管理分支
- Git - 分支工作流程
- Git - 遠端分支
- Git - 跟蹤分支
- Git - 變基
- Git - 變基與合併
- Git - 合併提交
- Git 操作
- Git - 克隆操作
- Git - 標籤操作
- Git - 別名操作
- Git - 提交操作
- Git - 暫存操作
- Git - 移動操作
- Git - 重新命名操作
- Git - 推送操作
- Git - 拉取操作
- Git - Fork 操作
- Git - 修補操作
- Git - 差異操作
- Git - 狀態操作
- Git - 日誌操作
- Git - HEAD 操作
- Git - origin master
- Git 撤銷
- Git - 撤銷更改
- Git - 檢出
- Git - 恢復
- Git - 重置
- Git - 恢復操作
- Git - 刪除
- Git - 切換操作
- Git - cherry-pick
- Git - 修訂
- 伺服器上的 Git
- Git - 本地協議
- Git - 智慧 HTTP 協議
- Git - 啞 HTTP 協議
- Git - SSH 協議
- Git - Git 協議
- Git - 在伺服器上安裝 Git
- Git - 設定伺服器
- Git - 守護程序
- Git - GitWeb
- Git - GitLab
- Git - 第三方託管選項
- 分散式 Git
- Git - 分散式工作流程
- Git - 為專案做貢獻
- Git - 維護專案
Git - 在伺服器上安裝 Git
在伺服器上安裝 Git 的過程通常涉及幾個步驟,具體取決於您的作業系統(例如 Linux、macOS 或 Windows)。
為了設定 Git 伺服器,必須建立一個新的 **裸倉庫**,它沒有工作目錄。
要實現此目的,請使用 **--bare** 選項克隆現有的倉庫。
通常,裸倉庫以後綴 **.git** 結尾。
使用以下命令建立一個名為 **new_project.git** 的基本倉庫。
git clone --bare new_project new_project.git
使用此命令克隆 **new_project** 倉庫,建立一個名為 **new_project.git** 的新裸倉庫。
一旦使用 **git clone --bare** 建立了裸倉庫,Git 目錄資料就會儲存在 **new_project.git** 中。
此過程等同於使用以下方法手動將 **.git** 目錄從 **new_project** 移動到 **new_project.git**
cp -Rf new_project/.git new_project.git
將 Git 倉庫中的資料與工作目錄分離到 **new_project.git** 中仍然是主要目標。
此配置對於伺服器倉庫很常見,在伺服器倉庫中不需要專案檔案,只需要 Git 操作。
將裸倉庫放在伺服器上
建立裸倉庫 **new_project.git** 後,設定伺服器並配置協議非常簡單。
如果您希望將 Git 倉庫儲存在 **/srv/git** 下,並且可以透過 SSH 訪問 **example-server.com**,則可以使用 SCP 傳輸基本倉庫
scp -r new_project.git user@example-server.com:/srv/git
**new_project.git** 裸倉庫遞迴地(**-r**)複製到 SSH 可訪問伺服器 **user@example-server.com** 上的 **/srv/git** 目錄。
將我們的倉庫儲存在伺服器上的 **/srv/git** 中後,具有 SSH 讀取訪問許可權的使用者可以使用以下命令克隆它
git clone user@example-server.com:/srv/git/new_project.git
如果使用者對伺服器上的 **/srv/git/new_project.git** 目錄具有寫許可權並且具有 SSH 訪問許可權,他們也將自動擁有推送許可權。
當您使用 **--shared** 選項初始化 Git 倉庫時,Git 會自動為該組分配寫許可權。
此操作不會影響現有的提交、引用和其他倉庫資料。
ssh user@example-server.com cd /srv/git/new_project.git git init --bare --shared
透過在具有 SSH 訪問許可權的伺服器上建立基本倉庫,可以輕鬆設定用於協作的 Git 倉庫。
需要支援 SSH 的伺服器帳戶,以及協作者對倉庫的讀寫訪問許可權。
這種方法適用於小型私有專案,參與者可以在同一個專案上進行協作。
高階設定(稍後將介紹)包括控制使用者帳戶、授予公共讀取訪問許可權以及配置 Web 使用者介面以進行更徹底的專案管理。
小型設定
對於剛接觸 Git 或小型設定的團隊來說,設定 Git 伺服器非常簡單。
在設定 Git 伺服器時,管理使用者許可權可能會更困難,尤其是在對多個倉庫進行只讀和讀寫訪問時。
使用 SSH 訪問配置 Git 倉庫
如果所有開發人員都已具有對伺服器的 SSH 訪問許可權,則可以輕鬆地在其中設定初始倉庫,而無需進一步設定。
對於更復雜的訪問控制,請使用伺服器作業系統上的檔案系統許可權。
如果倉庫位於沒有為每個團隊成員建立使用者帳戶的伺服器上,則需要配置 SSH 訪問許可權。
可用的選項是
為每個團隊成員設定單獨的帳戶,這很簡單,但可能需要一些時間。
建立一個名為 **git** 的單個使用者帳戶,並將需要寫訪問許可權的使用者的 SSH 公鑰新增到其 `authorized_keys` 檔案中。
透過使用來自現有集中式源(如 LDAP)的 SSH 伺服器身份驗證,確保任何具有 shell 訪問許可權的已認證使用者都可以使用 SSH。
**注意:**要了解配置 SSH 金鑰的步驟,請點選 此處。
總結
以下步驟總結了在伺服器上安裝 Git 的過程
安裝 Git - 使用包管理器安裝 Git。
配置 Git - 設定全域性 Git 配置,例如使用者名稱和電子郵件。
設定 Git 倉庫 - 建立裸倉庫作為遠端倉庫。
設定訪問控制 - 配置 SSH 金鑰、許可權或基於 Web 的 Git 管理工具,以便使用者可以從伺服器拉取/推送程式碼。