Git 基本操作

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/ // 浏览

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值