
- 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 服务器时,管理用户权限可能会更困难,尤其是在对多个仓库进行只读和读写访问时。
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
使用 SSH 访问配置 Git 仓库
如果所有开发人员都已具有对服务器的 SSH 访问权限,则可以轻松地在其中设置初始仓库,而无需进一步设置。
对于更复杂的访问控制,请使用服务器操作系统上的文件系统权限。
如果仓库位于没有为每个团队成员创建用户帐户的服务器上,则需要配置 SSH 访问权限。
可用的选项是
为每个团队成员设置单独的帐户,这很简单,但可能需要一些时间。
创建一个名为 **git** 的单个用户帐户,并将需要写访问权限的用户的 SSH 公钥添加到其 `authorized_keys` 文件中。
通过使用来自现有集中式源(如 LDAP)的 SSH 服务器身份验证,确保任何具有 shell 访问权限的已认证用户都可以使用 SSH。
**注意:**要了解配置 SSH 密钥的步骤,请点击 此处。
总结
以下步骤总结了在服务器上安装 Git 的过程
安装 Git - 使用包管理器安装 Git。
配置 Git - 设置全局 Git 配置,例如用户名和电子邮件。
设置 Git 仓库 - 创建裸仓库作为远程仓库。
设置访问控制 - 配置 SSH 密钥、权限或基于 Web 的 Git 管理工具,以便用户可以从服务器拉取/推送代码。