【开发工具】git服务器端安装部署+客户端配置

自己安装一个轻量级的git服务端,仅仅作为代码维护,尤其适合个人代码管理。毕竟代码的版本管理是很有必要的。

这里把git服务端部署在centos系统里,部署完成后可以通过命令行推拉代码,进行版本和用户管理。

一、服务端安装配置

1.1 安装git服务端

1.1.1 安装

bash 复制代码
# 安装源
> yum install -y epel-release

# 如果是centos6,则:
> rpm -ivh https://centos6.iuscommunity.org/ius-release.rpm
# 如果是centos7,则:
> #rpm -ivh https://centos7.iuscommunity.org/ius-release.rpm

# 安装git
> yum list git2u
> yum install -y git2u

1.1.2 确认安装

bash 复制代码
# 确认git安装成功
> git --version

1.2、添加用户

bash 复制代码
# 添加用户git
> sudo useradd -r -s /usr/bin/git-shell -c 'git version control' -d /home/git git

# 添加用户git的主目录
> mkdir -p /home/git
> chown git:git /home/git

# 设置密码
> passwd git

配置用户:

bash 复制代码
# 编辑文件 /etc/passwd
> vi /etc/passwd

找到行:

git:x:1001:1001:,,,:/home/git:/bin/bash

替换/bin/bash为 /usr/bin/git-shell,最终类似于:

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

1.3、配置仓库

bash 复制代码
# 进入用户主目录
> cd /home/git

# 创建.ssh目录
> mkdir /home/git/.ssh

# 配置 /home/git/.ssh 目录权限
> chmod 700 /home/git/.ssh
# 配置 /home/git/.ssh/authorized_keys 文件权限
> touch /home/git/.ssh/authorized_keys
> chmod 644 /home/git/.ssh/authorized_keys

# 配置用户主目录
> cd /home
> chown -R git:git /home/git

二、客户端配置安装

经过前面三个步骤,服务端已经配置完成,假设服务端的域名是git.demo.com,当然也可以使用IP。

2.1 安装git客户端

官方网站:Git

2.2 免密配置(非必要但推荐)

如果是linux平台,打开shell;如果是windows平台,打开git bash:

bash 复制代码
# ssh-keygen -t rsa -C "your-email or user"
> ssh-keygen -t rsa -C "abc@qq.com"

这将在~/.ssh/下生成id_rsa和id_rsa.pub 两个文件,对应公私钥,把公钥文件id_rsa.pub的内容添加到服务端的授权文件中:

bash 复制代码
> vi /home/git/.ssh/authorized_keys

三、演示项目demo.git

3.1 服务端创建仓库

bash 复制代码
# 进入用户主目录
> cd /home/git

# 新建仓库 demo.git
> mkdir /home/git/demo.git
> cd /home/git/demo.git

# 初始化仓库 demo.git
> git --bare init

# 配置仓库权限
> chown -R git:git /home/git/demo.git

3.2 客户端配置git

3.2.1 方式1: 拉取全新代码

如果本地是全新环境,直接从服务端clone项目:

bash 复制代码
# git clone ssh://用户@远程仓库服务器:端口/仓库目录
> git clone ssh://git@git.demo.com:22/home/git/demo.git

3.2.2 方式2: 配置本地已有代码

如果本地已经有代码了,则可以添加远程仓库:

bash 复制代码
# 添加远程仓库
# git remote add 名称 用户@远程仓库服务器:端口/仓库地址
> git remote add origin git@git.demo.com:22/home/git/demo.git

四、常用git命令

bash 复制代码
# 移除远程仓库
# git remote remove 远程仓库名称
> git remote remove origin

# 修改远程仓库地址
# git remote set-url 远程仓库名称 ssh://用户@远程仓库服务器:端口/仓库地址
> git remote set-url origin ssh://git@git.demo.com:22/home/git/demo.git

# 查看commit历史
> git log --pretty=oneline --graph --abbrev-commit
相关推荐
Winlifes5 天前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git
郑州光合科技余经理6 天前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
我命由我123456 天前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
Lcr3s6 天前
Git基础之(0):如何在Ubuntu(Linux)上安装git
git
玄芯散人7 天前
【筑基·058】Git协作工作流:冲突解决和PR流程
git·版本控制·团队协作
寺中人7 天前
Git 版本控制完全入门指南:从安装到实战,提交 + 分支 + 协作 + 冲突解决全拆解
git·开发工具·版本控制·团队协作·代码管理
荔枝梅梅7 天前
新手程序员 SSH 第一课:从 Git 仓库连接失败理解 SSH 协议与密钥配置
git
玄芯散人7 天前
【筑基·057】Git代码时光机:版本控制入门到分支管理
git·版本控制·嵌入式开发
szephyr7 天前
Git 分支管理实战:feature/release/hotfix 怎么用才不乱
git·分支管理·团队协作·工作流·hotfix
一木 之林7 天前
手搓家庭服务器:二手装机、Docker部署、端口映射与frp内网穿透
服务器·人工智能·git·编辑器