Git的使用和基本概念理解
参考:https://www.liaoxuefeng.com/wiki/896043488029600
一)、git的使用:
1.创建版本库(Resopsitory),相当于一个目录,目录中所有的文件被git管理,每个文件的修改跟删除操作都会被跟踪监控。
.git : 跟踪管理版本库
注: 所有版本控制器只能跟踪文本的改动,如:.txt文件,网页,以及程序代码等
二)、git的命令
git log : 查看从最近到最远的提交日志
git checkout: 切换到另一个分支
git checkout --:修改命令
git reset : 回退版本,也可以把暂存区的修改回退到工作区
注:*将暂存区的数据提交到.git版本库即master分支还能够回退一节,====》能
但需要一条件:即:没有把本地版本库推送到远程
$git push origin master: 将本地分支的最新修改推送至远程仓库
三)、使用可视化工具查看git历史
HEAD:当前版本
HEAD^: 上个版本
HEAD^^: 上上个版本
HEAD~100: 在往上100个版本
git reset: 回退到上一个版本
git的工作区和暂存区
工作区:创建的版本库
git init命令把这个创建的版本库变成Git可以管理的仓库
.git : git的版本库,执行git init命令后,会在创建的版本库目录下自动生成.git文件
四)、添加远程仓库
步骤
- 本地创建一个git仓库
- 在gitHub创建一个仓库(该仓库作为备份,其它人通过该仓库协作)
- 在本地仓库下运行命令关联gitHub的git仓库
- 将本地的内容推送到远程库
通过$git push origin master: 将本地分支的最新修改推送至github
五)、git的代码提交流程
- 通过git add : 将文件放置暂存区中
- 使用git commit: 将暂存区中的文件放置在分支中
文件 ------ 》暂存区 --------》分支
注:可以add多个文件到暂存区(stage),一次性提交到分支上(master)
创建版本库时,会自动的创建一个唯一的master
六)、git的分支管理
HEDA:当前版本 ------->master(分支) --------->最新提交
创建dev新分支
增加dev指针:
HEDA(当前版本) ------->dev --------》最新提交
master-----》最新提交
dev分支的修改提交更新
当对工作区的修改提交后,dev分支移动,指向最新的的提交,master指向不变对,
此时对工作区的修改和提交就是针对dev分支了
dev分支工作完毕,合并主分支master
master指向dev的最新提交 ,HEAD指向master
HEAD ----> master ------>dev的最新提交
七)、git的优点:
定义:分布式版本控制系统
- 不联网也能工作
- 分支管理
Git的使用和基本概念理解的更多相关文章
- git 入门教程之基本概念
基本概念 了解工作区,暂存区和版本库的区别和联系有助于我们更好理解 git 的工作流程,了解命令的操作意图. git 和其他版本控制系统如 svn 的不同之处就是有暂存区的概念. 基本概念 工作区 | ...
- git 命令(提高篇)的本质理解
上一篇博客:[[git 命令(提高篇)的本质理解] (http://www.cnblogs.com/juking/p/7105744.html)]介绍了Git 的基础知识 -- 提交.分支以及在提交树 ...
- 大数据核心知识点:Hbase、Spark、Hive、MapReduce概念理解,特点及机制
今天,上海尚学堂大数据培训班毕业的一位学生去参加易普软件公司面试,应聘的职位是大数据开发.面试官问了他10个问题,主要集中在Hbase.Spark.Hive和MapReduce上,基础概念.特点.应用 ...
- SpringIOC的概念理解、构造器注入、setter注入、p命名空间注入、IOC容器介绍与比较
1.IOC概念理解 IOC(Inversion of Control)即“控制反转”,不是什么技术,而是一种设计思想.在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象 ...
- Kubernetes重要概念理解
Kubernetes重要概念理解 kubernetes是目前最主流的容器编排工具,是下一代分布式架构的王者.2018年的kubernetes第一个版本1.10已经发布.下面整理一下,kubernete ...
- SNF快速开发平台2019-角色、权限、账户的概念理解-非常全的理论讲解权限控制
组织模型 资源模型 操作模型 谁能够执行哪些操作 执行资源的范围 资源概念资源就是想要的到的最终物质,我们可以给每一个资源定义一个权限,也可以给某一类资源定义一个权限 权限概念权限是对资源 ...
- elasticsearch基本概念理解+elasticsearch 的shards unassigned处理方法 -- 最佳运维实践 - 集群规划
1.es与MySQL的概念对比 2.概念理解 2.1 Index : 一个索引即是文档的集合 2.2 Document : 一个文档即是一个可被索引的基础单元信息,一条记录: 2.3 Replicas ...
- fragment概念理解
fragment概念理解知识,fragment概念理解图片 fragment概念理解内容,fragment概念理介绍,fragment概念理正文 Fragment是Android honeycomb ...
- ubuntn系统下将文件拷贝到优盘中及挂载概念理解
参考资料:http://jingyan.baidu.com/article/7082dc1c76f178e40a89bdd3.html: http://bbs.csdn.net/topics/3801 ...
随机推荐
- linux+jenkins+postman持续集成
环境搭建:linux上安装newman,部署好jenkins linux上war包方式安装Jenkins 以下实现jenkins上执行postman测试脚本: 1.新建一个自动风格的job 2.构建- ...
- 微信分享—ios和安卓机制居然不一样!
实际项目中,在做微信分享追踪的时候,遇到了一个百思不得其解的问题. 在加入了用户分享追踪功能之后,页面已经加载完成的情况下,安卓分享功能没有任何问题,ios却总是分享失败. 关于ios和安卓设备的差 ...
- Java中常用的四种线程池
在Java中使用线程池,可以用ThreadPoolExecutor的构造函数直接创建出线程池实例,如何使用参见之前的文章Java线程池构造参数详解.不过,在Executors类中,为我们提供了常用线程 ...
- task一个任务结束后执行另一个操作
//创建一个任务 Task<int> task = new Task<int>(() => { ; //显示进度条遮照层, this.ShowPrograssBar(); ...
- django测试开发-1.开始Hello django!
用python开发出一个web页面的时候,需要找一个支持python语言的web框架.django框架有丰富的文档和学习资料,也是非常成熟的web开发框架,本篇写一个简单的“hello django! ...
- Java TCP协议字节处理工具类
1.使用 tcp 协议 读取 输入流的固定长度的字节数 public static byte[] getTcpSpecificBytes(BufferedInputStream bis,int len ...
- Java 在PDF中添加页面跳转按钮
在PDF 中可通过按钮来添加动作跳转到指定页面,包括跳转到文档首页.文档末页.跳转到上一页.下一页.或跳转到指定页面等.下面将通过java代码来演示如何添加具有以上几种功能的按钮. 使用工具: Fre ...
- PHP spl_autoload和class_exsits使用技能
本文章的PHP使用版本:5.4.7 PHP建议使用: spl_autoload_register 那么写了一种实现 文件路径 core core.php ChildrenClass.php Paren ...
- 务必收藏备用:.net core中通过Json或直接获取图形验证码(数字验证码、字母验证码、混合验证码),有源代码全实战demo(开源代码.net core3.0)
很多人写的博客大家看了会一知半解,不知道怎么用,应该引用什么类库或者代码不全,这样很多小白很是头疼,尤其是尝新技术更是如此.我们这边不止告诉你步骤,而且还提供开源demo.随着时间的推移,我们的dem ...
- 20191107-配置 pyqt5+pycharm 环境
因公司需要,今天配置了 pyqt5+pycharm 环境,准备试着写些 UI 界面. 参考资源: 1. Python3+PyQt5+PyCharm 桌面GUI开发环境搭建 https://www.cn ...