1:Git基本操作
2: HEAD指针操作
3:Git分支操作
4:Git服务器
5:制作nginx的RPM包
Git基本操作
git仓库: 保持所以数据的地方
工作区: 从仓库中提取出来的文件,放在磁盘上供你使用或修改
暂存区: 就是一个文件,索引文件,保存了下次将提交的文件列表信息
部署Git服务器
git常用指令
clone : 将远程服务器的仓库克隆到本地
config : 修改git配置
add : 添加修改到暂存区
connit : 提交到本地仓库
push : 提交修改到远程服务器
pull : 下载到本地仓库
yum -y install git //YUM安装Git软件
mkdir /var/git //初始化一个空仓库。
git init /var/git/project --bare
git clone root@192.168.2.100:/var/git/project //拷贝git文件到本机
cd project //进入git目录下
git config --global user.email “you@example.com” //创建git邮箱
git config --global user.name “Your Name” // 创建git用户
echo “init date” > init.txt //文件中添加文字
mkdir demo //创建目录
cp /etc/hosts demo // 移动目录
git status // 查看仓库中数据的状态
git add . // 将工作区的修改提交到暂存区
git commit -m “注释,可以为任意字符” //将暂存区修改提交到本地仓库
git config --global push.default simple //修改配置
git push //提交远程服务器
root@192.168.2.100’s password: 输入服务器root密码 //远程给别的机器
git log //查看版本日志。
git log --pretty=oneline
git log --oneline
git reflog //查看版本日志。
HEAD指针操作
HEAD指针基本操作
echo “new file” > new.txt
git add .
git commit -m “add new.txt”
echo “123” > num.txt
git add .
git commit -m “num.txt:123”
echo “456” > num.txt
git add .
git commit -m “num.txt:456”
echo “789” > num.txt
git add .
git commit -m “num.txt:789”
git push
git reflog //查看Git版本信息。
git reset --hard 301c0 //移动HEAD指针,将数据还原到任意版本。
git reflog // 提示:当前HEAD指针为HEAD@{0}
git reset --hard 04ddc0f //恢复num.txt的所有数据
模拟误删后的数据还原操作。
git rm init.txt //删除文件
git commit -m “delete init.txt” //提交本地仓库
git reflog //查看版本历史
git reset --hard 04ddc0f //恢复数据
Git分支操作
查看分支
创建分支
切换分支
合并分支
解决分支的冲突
常见的分支规范如下:
MASTER分支:(MASTER是主分支,是代码的核心)。
DEVELOP分支:(DEVELOP最新开发成果的分支)。
RELEASE分支:(为发布新产品设置的分支)。
HOTFIX分支 :(为了修复软件BUG缺陷的分支)。
FEATURE分支:(为开发新功能设置的分支)。
查看并创建分支
git status //查看状态
git branch -v //查看分支
git branch hotfix //创建分支
git checkout master //跳转分支
冲突(添加/添加):合并冲突于 a.txt自动合并失败,修正冲突然后提交修正的结果 //解决版本分支的冲突问题
vim a.txt //修改该文件,为最终需要的数据,解决冲突
Git服务器
SSH协议
密码认证访问
服务器安装git 使用git名利初始化版本仓库 客户端使用SSH远程访问(可读写权限)
git init --bare /var/git/base_ssh 创建基于密码验证的SSH协议服务器(服务机1主机操作)
git clone root@192.168.2.100:/var/git/base_ssh 客户端访问的方式(服务及机2主机操作)
rm -rf base_ssh
客户端生成SSH密钥,实现免密码登陆git服务器(web2主机操作)
ssh-keygen -f /root/.ssh/id_rsa -N ‘’ //远程去密码
ssh-copy-id 192.168.2.100
git clone root@192.168.2.100:/var/git/base_ssh
Git协议服务器(只读操作的服务器)
yum -y install git-daemon //安装软件包
git init --bare /var/git/base_git //创建版本库
修改配置文件,启动git服务(web1主机操作)。
vim /usr/lib/systemd/system/git@.service //配置文件
修改前内容如下:
ExecStart=-/usr/libexec/git-core/git-daemon --base-path=/var/lib/git
–export-all --user-path=public_git --syslog --inetd –verbose
修改后内容如下:
ExecStart=-/usr/libexec/git-core/git-daemon --base-path=/var/git
–export-all --user-path=public_git --syslog --inetd –verbose
systemctl start git.socket // 重新启动
HTTP协议服务器(只读操作的服务器)
yum -y install httpd gitweb //安装软件包
vim +11 /etc/gitweb.conf //跳转文件的第十一行
$projectroot = “/var/git”; // 添加一行
创建版本仓库(web1主机操作
git init --bare /var/git/base_http
systemctl start httpd // 重新启动
制作nginx的RPM包
应用场景
扩展名后缀必须是 .spec
官方未提供RPM包
官方RPM包无法定义
大量源码包.希望提供同意的软件管理机制
打包流程
1 准备源码软件
2 安装rpm-build
3 编写编译配置文件
4 编译RPM包
yum -y install rpm-build //安装rpm-build软件包
ls /root/rpmbuild //自动生成的目录结构
rpmbuild -ba nginx.spec //查看状态
cp nginx-1.12.2.tar.gz /root/rpmbuild/SOURCES/ //将源码软件复制到SOURCES目录
vim /root/rpmbuild/SPECS/nginx.spec //创建并修改SPEC配置文件
Name:nginx //源码包软件名称
Version:1.12.2 //源码包软件的版本号
Release: 10 //制作的RPM包版本号
Summary: Nginx is a web server software. //RPM软件的概述
License:GPL //软件的协议
URL: www.test.com //网址
Source0:nginx-1.12.2.tar.gz //源码包文件的全称
#BuildRequires: //制作RPM时的依赖关系
#Requires: //安装RPM时的依赖关系
%description
nginx [engine x] is an HTTP and reverse proxy server. //软件的详细描述
%post
useradd nginx //非必需操作:安装后脚本(创建账户)
%prep
%setup -q //自动解压源码包,并cd进入目录
%build
./configure
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
%files
%doc
/usr/local/nginx/* //对哪些文件与目录打包
%changelog
使用配置文件创建RPM包
yum -y install gcc pcre-devel openssl-devel //安装依赖软件包
rpmbuild创建RPM软件包
rpmbuild -ba /root/rpmbuild/SPECS/nginx.spec
ls /root/rpmbuild/RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm
rpmbuild -ba nginx.spec //当前目录下编译
rpmbuild -ba /root/rpmbuild/SPECS/nginx.spec //非绝对路径安装
安装、卸载软件
rpm -ivh /root/rpmbuild/RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm //安装
rpm -qa |grep nginx //查看状态
/usr/local/nginx/sbin/nginx //启动nginx服务
curl http://127.0.0.1/ // 浏览