Git原理及实践(Fork模式)
1.简介:
Git是目前最先进的分布式版本控制系统,在git的管理下,每个人的电脑上都有一个完整的版本库,配合云上一台充当“中央服务器”的电脑(方便交换和修改)。
git是用于记录文件变更的版本控制系统, 支持文件版本跟踪,记录,回退,合并 等操作,并在此基础上实现了版本切换,差异比较,分支管理,分布式协作等功能。
2.版本库结构:
keywords: 管理,追踪,二进制文件
.git
git init .;
多次add
,一次性commit
到本地master;
在工作目录中修改文件。
暂存文件,将文件的快照放入暂存区域。
提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。
Git存储的是 某一时刻所有文件的快照,而且存储的是整个文件的内容,而不是文件的差异。Git每次都记录的是文件的一个新的版本
其他版本控制系统记录的是原始文件以及文件的差异:
3.Git下文件状态:
git init
git status
(图片来源:Git官网)
4.HEAD(分支管理)
keywords:快照,log,
理解:当前活跃分支的游标(下图主要体现commit版本号的移动)
1.在master分支上时(HEAD指向master,master指向最新的提交)
2.执行git checkout dev(切换到当前指向的分支dev)
3.在dev分支上进行开发,&^)@$%#_())(#*)@>@(…
(dev跟随着commit移动,HEAD随之移动)
4.切换到master分支(HEAD随之切换,指向master),执行git merge dev(master指向了dev最新的提交)
6.fork模式下的开发与合并
7.相关知识点总结:
1.git diff:
git diff #是工作区(workspace)和暂存区(stage)的比较 ;
git diff --cached #是暂存区(stage)和分支(master)的比较;
git diff HEAD #查看工作区和版本库里面最新版本的区别;
2.命令git checkout --test.txt意思就是,把test.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态;
3.git reset之后,整个工作区的所有文件都会回到指定版本提交的那个状态;
4.git revert <commit_id>操作实现以退为进;
5.rm:
如果你用的rm删除文件,那就相当于只删除了工作区的文件,如果想要恢复,直接用git checkout – 就可以
如果你用的是git rm删除文件,那就相当于不仅删除了文件,而且还添加到了暂存区,需要先git reset HEAD ,然后再git checkout –
如果你想彻底把版本库的删除掉,先git rm,再git commit 就ok了
6.只有版本库的修改才可以被跟踪;
7.git status 查看当前git仓库与上一次commit之后的版本库的一切修改,包括工作区的修改和暂存区的修改;
8.由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令;
9.HEAD指向master,master指向最新的提交;
10.只git add ,没有git commit,此时,暂存区比分支新一个版本。
8.命令速查:
9.相关资料:
廖雪峰的git教程:https://www.liaoxuefeng.com/wiki/896043488029600
pro Git中文版:https://gitee.com/progit/
Git原理及实践(Fork模式)相关推荐
- OpenGL原理与实践——核心模式(五):颜色、基础光照、Phong模型、材质与光
目录 颜色相关理论 什么是颜色 如何计算颜色? 简单实现 Phong光照模型--局部光照模型 环境光 编辑 漫反射 镜面反射 材质与光 材质与纹理的关系 材质在shader的体现 材质属性与光属性 ...
- OpenGL原理与实践——核心模式(六):光照贴图、光源分类以及多光源场景主要源码实现
本章主要以代码为主,理论理解即可.详细分析代码 目录 光照贴图 光源分类 平行光 点光源 shader--点光源 聚光灯 聚光灯边缘优化--光强递减 源码解析 main 全局变量.句柄 main函数主 ...
- Kubernetes初探:原理及实践应用
Kubernetes初探:原理及实践应用 [日期:2014-11-03] 来源:CSDN 作者:张俊 [字体:大 中 小] 总体概览 如下图所示是我初步阅读文档和源代码之后整理的总体概览,基本上可以从 ...
- 20164301 Exp3 免杀原理与实践
Exp3 免杀原理与实践 1. 实践内容 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程 1.2 通过组合应 ...
- sentencepiece原理与实践
1 前言 前段时间在看到XLNET,Transformer-XL等预训练模式时,看到源代码都用到sentencepiece模型,当时不清楚.经过这段时间实践和应用,觉得这个方法和工具值得NLP领域推广 ...
- Git 原理安装和命令解析
Git简介 Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git有什么特点?简单来说就是:高端大气上档次! 那什么是版本控制系统? 如果你用Microsoft Word写 ...
- Linux 快照 (snapshot) 原理与实践(一) 快照基本原理
文章目录 0. 背景 1. 如何理解快照(snapshot)? 2. 快照 (snapshot) 的原理 2.1 全量快照 1. 克隆 (Clone) 2. 镜像分离 (Split Mirror) 2 ...
- 2018-2019-2 20165315 《网络对抗技术》Exp3 免杀原理与实践
2018-2019-2 20165315 <网络对抗技术>Exp3 免杀原理与实践 一.实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion ...
- 知识普及:关于Fuzzing模糊测试入门原理及实践的讨论
狩猎者网络安全旗下--知柯信息安全团队(知柯信安) 漏洞挖掘是否是真正的安全呢? "The best alternative to defense mechanisms is to find ...
最新文章
- Android中去掉标题的方法总结
- 微生物群落来自哪里,我们说了算-FEAST or SourceTracker
- Linux中读写权限
- 【DIY】DIYarduino温湿度计视频图文教程
- 记一次对 Laravel-permission 项目的性能优化
- Hive学习之路 (十六)Hive分析窗口函数(四) LAG、LEAD、FIRST_VALUE和LAST_VALUE
- RedHat宣布支持Azure、.Net Core 2.0和SQL Server 2017
- 利用双向注意流进行机器理解
- 计蒜客 蓝桥杯模拟五 合并数字
- java qq验证_用Java代码来校验QQ号
- opencv学习笔记之像素处理
- 由一次线上故障来理解下 TCP 三握、四挥 Java 堆栈分析到源码的探秘
- 计算机专业班级工作计划,网络计算机班班主任工作计划
- TensorFlow实践项目的报告
- 跆拳道培训机构如何用抖音快手做推广
- 移动端真机调试--weinre
- 《移动通信》多章节部分重要习题(简答、单选、判断)
- 单片机程序员发展的必选之路: Linux
- centos7部署企业镜像仓库 Harbor
- Qt 制作电子表格时候应该注意的地方