8.4Git(1)
作者:互联网
Git(1)
Git 分布式版本控制系统 本地版本管理 github :公有云代码托管平台 gitlab:私有云代码托管平台
安装
windows安装git:https://git-scm.com/ 直接安装并将bin目录搭载到环境变量
linux安装git:yum install git
集中式
从中央代码服务器获取具体的代码,把代码下载到自己的本地,然后把代码,必须在有网络的情况下提交到中央服务器。典型的产品是SVN,所谓集中式的版本控制系统,只有一个中央数据仓库,如果中央数据仓库瘫痪或者是不可访问的情况下,所有的使用者无法使用SVN,无法进行提交或者备份文件。 分布式 分布式版本控制系统,在每个使用者电脑上就有一个完整的数据仓库,没有网络依然可以使用Git。当然为了团队协作,会把本地数据同步到GitLab服务器或者是GitHub等代码仓库。
配置
system:针对任意登录到Linux系统的用户⽣效
global:全局,只针对当前登录的⽤户⽣效,git配置写⼊~/.config/config local
local:本地,只针对某⼀个⽂件夹⽣效。
⼀般配置的时候,使用的是全局配置,建议使⽤全局配置的⽅式。具体配置name和email如下:
Git核心原理
操作的⼀般都是⼯作⽬录,如果执⾏了git add的命令后,那么就会从⼯作区进⼊到暂存区,如果再执⾏了git commit的命令后,等于是从暂存区进⼊到本地仓库,如果再执⾏git push,就是从本地仓库进⼊到原地仓库。本 地仓库主要记录的是所有⽂件的修改,删除,这些Git都会记录下来,⽬的是可以进⾏历史回退,追踪信息。
git init :初始化仓库(创建仓库)
在learnGit目录下创建index.tet,并输入Hello Git
在命令台中输入git add index.txt进入暂存区域
Git生命周期
它的生命周期可以完整的描述为:
git init #生成git工作区
git status #掌握git工作区的信息
git add #确认需要添加以及跟踪的文件
git commit -m "注释信息"#提交到本地仓库
完整如图
Git的log
git log全部的提交记录
git log --oneline #查看简陋的信息
git log -1 #显示最新的一条提交记录信息
git log --all --graph #查看提交的版本演变
git reflog #记录git所有的操作,包含了提交以及回退
Git回退
git reset --hard
回到最初的版本
返回最新的版本
晚上上线,发现严重的问题,最后结论是本次发布取消,那么就需要版本回退,再对旧版本进行复查测试
Git标签
git tag可以理解为:这对每个版本加上一个标签。标签涉及到的命令具体可以总结为:
• git tag -a tagName -m 标签注释:创建一个标签,并且加上注释
• git tag #查看标签信息
• git log --decorate #查看标签的详细信息
• git log --oneline --decorate #命令如上是一样的
• git tag -a标签名称 commitID -m 标签注释
• git show tagName #查看标签的具体详细的信息
修改内容、版本标签后进行两者比较
Git分支管理
环境: 测试环境 开发环境 预发布环境:stage.baidu.com
线上环境:www.baidu.com
代码分支:
test :测试环境
dev:开发环境
master:主干分支,专门发布到线上(预发布/生产环境)
流程:
1、程序员在dev开发完的功能合并到test分支
2、测试这边在test测试完成后,合并到master
3、最后master 分支代码的上线
问题:开发把test合并到master后,测试还需要测试吗
答:需要
1、合并过程中可能会出现代码的丢失
2、合并过程中会出现代码的冲突
创建分支
git branch
切换分支
git checkout
标签:git,log,--,标签,代码,Git,8.4 来源: https://www.cnblogs.com/likaiEndfate/p/16552192.html