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模式)相关推荐

  1. OpenGL原理与实践——核心模式(五):颜色、基础光照、Phong模型、材质与光

    目录 颜色相关理论 什么是颜色 如何计算颜色? 简单实现 Phong光照模型--局部光照模型 环境光 ​编辑 漫反射 镜面反射 材质与光 材质与纹理的关系 材质在shader的体现 材质属性与光属性 ...

  2. OpenGL原理与实践——核心模式(六):光照贴图、光源分类以及多光源场景主要源码实现

    本章主要以代码为主,理论理解即可.详细分析代码 目录 光照贴图 光源分类 平行光 点光源 shader--点光源 聚光灯 聚光灯边缘优化--光强递减 源码解析 main 全局变量.句柄 main函数主 ...

  3. Kubernetes初探:原理及实践应用

    Kubernetes初探:原理及实践应用 [日期:2014-11-03] 来源:CSDN 作者:张俊 [字体:大 中 小] 总体概览 如下图所示是我初步阅读文档和源代码之后整理的总体概览,基本上可以从 ...

  4. 20164301 Exp3 免杀原理与实践

    Exp3 免杀原理与实践  1. 实践内容 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程 1.2 通过组合应 ...

  5. sentencepiece原理与实践

    1 前言 前段时间在看到XLNET,Transformer-XL等预训练模式时,看到源代码都用到sentencepiece模型,当时不清楚.经过这段时间实践和应用,觉得这个方法和工具值得NLP领域推广 ...

  6. Git 原理安装和命令解析

    Git简介 Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git有什么特点?简单来说就是:高端大气上档次! 那什么是版本控制系统? 如果你用Microsoft Word写 ...

  7. Linux 快照 (snapshot) 原理与实践(一) 快照基本原理

    文章目录 0. 背景 1. 如何理解快照(snapshot)? 2. 快照 (snapshot) 的原理 2.1 全量快照 1. 克隆 (Clone) 2. 镜像分离 (Split Mirror) 2 ...

  8. 2018-2019-2 20165315 《网络对抗技术》Exp3 免杀原理与实践

    2018-2019-2 20165315 <网络对抗技术>Exp3 免杀原理与实践 一.实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion ...

  9. 知识普及:关于Fuzzing模糊测试入门原理及实践的讨论

    狩猎者网络安全旗下--知柯信息安全团队(知柯信安) 漏洞挖掘是否是真正的安全呢? "The best alternative to defense mechanisms is to find ...

最新文章

  1. Android中去掉标题的方法总结
  2. 微生物群落来自哪里,我们说了算-FEAST or SourceTracker
  3. Linux中读写权限
  4. 【DIY】DIYarduino温湿度计视频图文教程
  5. 记一次对 Laravel-permission 项目的性能优化
  6. Hive学习之路 (十六)Hive分析窗口函数(四) LAG、LEAD、FIRST_VALUE和LAST_VALUE
  7. RedHat宣布支持Azure、.Net Core 2.0和SQL Server 2017
  8. 利用双向注意流进行机器理解
  9. 计蒜客 蓝桥杯模拟五 合并数字
  10. java qq验证_用Java代码来校验QQ号
  11. opencv学习笔记之像素处理
  12. 由一次线上故障来理解下 TCP 三握、四挥 Java 堆栈分析到源码的探秘
  13. 计算机专业班级工作计划,网络计算机班班主任工作计划
  14. TensorFlow实践项目的报告
  15. 跆拳道培训机构如何用抖音快手做推广
  16. 移动端真机调试--weinre
  17. 《移动通信》多章节部分重要习题(简答、单选、判断)
  18. 单片机程序员发展的必选之路: Linux
  19. centos7部署企业镜像仓库 Harbor
  20. Qt 制作电子表格时候应该注意的地方

热门文章

  1. SweetAlert2
  2. 旺旺:长风破浪会有时,28年终不止
  3. 产品笔试刷题错题记录
  4. SSD+HDD,win7+deepin15.11,win7引导启动失败!
  5. linux遍历文件目录
  6. 原码、补码以及定点数运算
  7. Powershell管理系列(三)2012 AD域用户UPN名称还原
  8. vivado + zedboard 初体验
  9. 3DES加密算法原理及实现过程
  10. internet协议服务器在哪,网络协议在哪设置