本篇文章旨在分享本人在学习Git时的随笔记
之前所有的操作都是基于本地机器完成的。如果在公司中,一个项目是共用一个版本库的。那么所有的开发人员都应该对同一个版本库进行操作。因为Git软件本身是用于 Linux 系统开发所设计的版本管理软件,项目搭建共享版本库也应该以linux 系统为主。接下来演示一下 CentsOS服务器中搭建 Git 服务器。
官网下载地址:下载地址
将下载后的压缩文件上传到 Linux 系统中
# 将压缩文件解压到自定义位置
tar -zxvf git-2.38.1.tar.gz -C /opt/module/
# 可以更改名字,变得简短一些,好操作
cd /opt/module
mv git-2.38.1/ git
解压后,我们需要编译源码,不过在此之前需要安装编译所需要的依赖,耐心等待安装完成,中途出现提示的时候输入y并按回车。
#
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
安装编译源码所需依赖的时候,yum操作回自动安装旧版本的 Git。
卸载旧版Git
# 删除旧版本的 Git
yum -y remove git
# 进入到Git软件的解压目录
cd /opt/module/git
# 编译时,prefix设定为Git软件安装目录
make prefix=/usr/local/git all
# 安装Git
make prefix=/usr/local/git install
修改 linux 系统中 /etc/profile 文件,配置环境变量
# 配置环境变量
export PATH=$PATH:/usr/local/git/bin
# 刷新环境,让环境变量立即生效
source /etc/profile
# git 安装路径是 /usr/local/git,不是默认路径
ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack
ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack
# 获取git软件版本
git --version
下面出来版本号表示安装成功。
因为 Git 服务器需要安装在 linux 系统上,当使用远程客户端操作时,需要提供相应的 Git 账号进行提交的,如果你的仓库文件的用户不是 git 的话,是 root 用户或者别的用户,那么你 git push。它是不允许提交的。可以创建 git 用户或者修改文件夹的权限。
# 增加用户
adduser git
# 设定密码
passwd git
# 进入用户目录
cd /home/git
# 在git用户根目录创建.ssh目录
sudo mkdir .ssh
sudo touch .ssh/authorized_keys
# 设定.ssh目录,authorized_keys的权限
sudo chmod -R 700 /home/git/.ssh
sudo chmod 600 /home/git/.ssh/authorized_keys
# 在客户端生成SSH密钥
# 默认生成的密钥用户就是当前用户,需要和之前的全局配置保持一致
user.name=18801@LAPTOP-J9IRK5BM
user.email=18801@LAPTOP-J9IRK5BM
# 按照提示三次回车即可
ssh-keygen -t rsa
在用户根目录的.ssh文件夹内,id_rsa.pub就是我们要的公钥
将文件中的内容复制到服务器端的.ssh/authorized_keys文件中
# 进入用户目录
cd /home/git
# 创建版本库目录
mkdir git-rep
# 设定文件所属用户
sudo chown git:git git-rep
# 进入仓库目录
cd /home/git/git-rep
# 初始化仓库,和前面的git init略有不同
git init -bare test.git
# 设定文件所属用户
sudo chown -R git:git test.git
# 将远程仓库克隆到本地,形成本地仓库
# 克隆远程仓库 => 用户@主机名:仓库地址
git clone git@linux1:/home/git/git-rep/test.git
# 增加文件
git add client.txt
# 提交文件
git commit -m 'client'
# 同步远程仓库
# 远程仓库默认有个别名叫origin,将本地仓库的文件推送(push)到远程仓库
# git push 远程仓库别名 分支名称
git push origin master
# 服务器端切换用户
su git
# 进入仓库
cd /home/git/git-rep/test.git
# 切换到主干分支
git checkout master
# 查看git日志
git log
对各位小伙伴有帮助的话,希望可以点赞❤️+收藏⭐,谢谢各位大佬~~