git的基本操作| git服务器的搭建

本文详细介绍Git服务器的三种类型:基于SSH、Git和HTTP协议的服务器搭建过程,包括安装Git软件、创建版本库、客户端克隆及操作,以及分支管理、免密码登录配置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

git服务器的种类

  • 基于ssh协议服务器
  • 基于git协议的服务器
  • 基于http协议服务器

git服务器部署需求

  • 安装git软件
  • 创建版本库
  • 客户端克隆版本库到本地
  • 本地工作目录修改数据
  • 提交本地修改到服务器

分布式基于SSH协议的git服务器

服务端

yum -y install git               //安装git包
git --version
mkdir	/var/git             //创建共享目录
git init /var/git/project --bare      //创建一个空库
ls /var/git/project                    

客户端

yum -y install git
git clone root@192.168.2.100:/var/git/project     //克隆git库到本地
cd project
git config --global user.email "yls@163.com"    //配置客户端用户邮箱
git config  --global user.name "yls"        //配置客户端用户名
cat ~/.gitconfig           //查看用户配置
echo "init date" > init.txt   //创建文件
mkdir demo  ; cp /etc/hosts demo   //拷贝文件到库	
git add .    或git add init.txt     //将工作区的文件提交到暂存区
git rm init.txt      //移除暂存区的文件
git commit -m "注释,可以使任意字符"     //将暂存区修改提交到本地仓库
git status                    //查看git状态
git config --global push.default simple  //配置push的规则
git  push
passwd:*******       //输入服务器密码
git status
git pull    //将服务器上的新数据更新到本地
git log     / git log --pretty=online  /log --oneline /reflog
****************************************************************
通过移动head指针恢复数据
git reflog
04ddc0f HEAD@{1}: commit: num.txt:789
7bba57b HEAD@{2}: commit: num.txt:456
301c090 HEAD@{3}: commit: num.txt:123
git reset --hard 7bba           //指针移动到7bba位置,文件版本为7bba
cat num.txt                   //验证结果     
:456
git rm init.txt                   //删除init文件,利用head指针恢复文件
git commit -m "delete init.txt"
git reflog
0dc2b76 HEAD@{0}: commit: delete init.txt
04ddc0f HEAD@{1}: commit: num.txt:789
git reset --hard 04dd
ls
******************************
git分支branch
常见分支规范: master(主分支,代码核心)
                       develop(最新开发成果的分支)
                       release(发布新产品设置的分支)
                       hotfix(修复bug分支)
                       feature(开发新功能分支)
 git status   //查看当前分支
 git branch hotfix  //创建分支
 git checkout hotfix     //切换分支
 git merge master     //合并分支,数据不一样,产生冲突,需修正提交修正结果
 *******************************************************************
 免密码登录
 ssh-keygen -f /root/.ssh/id_rsa -N ''        //制作密钥
ssh-cop-id 192.168.2.100  //git服务器ip地址
git push

git协议服务器(只读)

服务器

yum -y install git-daemon
git init --bare /var/git/base   //创建空GIt库
>修改配置文件,启动gitfuwu
vim /usr/lib/systemd/system/git@.service
修改文件成:
ExecStart=-/usr/libexec/git-core/git-daemon --base-path=/var/git 
--export-all --user-path=public_git --syslog --inetd –verbose
//--base-path=/var/git指定git的位置
systemctl start git.socket  //启动服务

客户端

git clone git://192.168.2.100/base   //连接git服务器

基于HTTP协议的git服务器(只读)
服务端

yum -y install httpd gitweb     //安装软件包
vim +11 /etc/gitweb.conf
$projectroot = "/var/git"         //修改配置文件,设置仓库根目录
git init --bare /var/git/base  //创建仓库
systemctl start httpd

客户端访问

firefox http://192.168.2.100/git/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值