**说明:**以下对Git的介绍只针对于Window系统,Linux和Mac系统暂不介绍;

Git是什么?
1.什么是版本控制?

版本控制是指对若干个文件内容进行修改时,可以对修改的文件进行历史查阅和修订的控制系统;例如:在word中对内容进行修改之后,可以通过撤销的操作恢复之前的状态;而版本控制就像增强版的word,它可以回退到某个时刻的内容,并且可以比较当前时刻和某一时刻修改的内容差异等操作;目前主流的版本控制工具有Svn和Git;本篇主要针对Git进行介绍;

2.分布式和集中式?

关于Git的分布式和集中式的介绍请参考以下文章

参考:https://www.jianshu.com/p/8b03546a7487

3.我们为什么需要版本控制

如果拥有版本控制,你就像拥有时光机一样,任性的想回退到任何时刻文件的修改记录;

Git基本用法

安装Git
根据官网提供的下载链接进行下载即可;

下载链接:https://git-scm.com/downloads

这里就不讲述具体安装教程,直接用默认安装就行了,需要注意的将git配置到window环境变量path中(安装时默认配置好的)。这个决定这你通过命令行在任何硬盘位置上能够使用Git命令;在cmd输入git --version打印相应版本号。如图所示:

Git基本命令用法
第一步:在电脑上新建个testpro空文件夹,通过cmd定位到该文件夹中。并通过git init命令初始化testpro目录为仓库目录 。初始化成功后testpro空目录中会多个.git目录,如下图所示:

备注:如果电脑上没有显示.git目录,说明系统设置不显示隐藏目录。通过以下链接进行设置即可显示.git目录;
https://jingyan.baidu.com/article/90808022bc6381fd90c80f63.html

第二步:在testpro新建个test.txt文本文件。文件从工作目录到版本流动过程:工作区(红色提示)——》暂存区(绿色提示)——》版本库(无任何提示)。这些环节缺一不可;如下图所示:

以上使用的git命令有

git status:查看当前文件的Gitt状态;

1.红色提示:文件在工作区还没添加至暂存区;(上图步骤一)
2.绿色提示:文件添加到暂存区,还没有提交到版本库中(一般情况);(上图步骤二)
3.无任何提示表示当前工作区目录很干净,没有需要添加或提交的文件;(上图步骤三)

git add 文件名/.:将文件添加至暂存区。可以指定某个文件,也可以用通配符.表示全部文件
git commit -m “提交记录描述”:将暂存区的文件提交至版本库中,最后的环节;

以上是基本使用,当然git不仅这些功能和命令。它还有分支和版本回退功能,有兴趣可以扩展了解下git的其他命令和功能;git命令很多,不必要全部记住,只要记得一些常用的命令即可。以下是我个人常用命令,仅做参考:
1.git init;2.git status;3.git add;4.git commit;5.git clone;6.git rm;7.git reset;8.git log;9.git branch;10.git merge;11.git checkout;12.git pull;13.git push;14.git remote;
官方文档参考地址:https://git-scm.com/docs/

Git中工作区、暂存区、版本库的基本概念
Git怎样与GitHub的关系,怎样将两者进行关联

第二问:Git中工作区、暂存区、版本库这3个是什么意思?
在Git有工作区、暂存区、版本库这三个缺一不可的概念;

Git怎样管理我们的文件?

什么是工作区、暂存区、版本库;

  1. 工作区:在某目录下通过git init命令设置成通过Git管理的文件夹时,这个文件夹里的内容就是工作区;
  2. 暂存区:可以理解为是工作区和版本库的中转站,每次将修改提交至版本库都必须通过git add 命令将修改放置在暂存区中;
  3. 版本库:是修改最终存放的位置,也可以理解为通过git init命令生成的隐藏.git目录为版本库;

    以上图可知,.git目录包含暂存区和版本库。其中index区域为暂存区,而master主分支区域为版本库;

分支:分支从词面上理解就是从一个系统或主干中生成新的子系统或子支干,所以分支有主次之分。

分支是Git独特之处。在Git中,一般master为主分支(唯一的),我们可以在不影响主分支的情况下生成新的分支来记录版本修改。以免多人同时操作主分支,容易造成提交冲突问题。影响开发主线;注意在Git中系统中,只有一个主分支,并由系统主动生成,我们通过"git branch xxx"命令生成的分支一般属于次分支;分支结构如下图所示:

总结:分支可以从其他分支的任何节点衍生出另一个新分子,分支也可以重新合并到其他分支。同时在同一分支的不同分支节点可以衍生出同名分支;

Git版本控制总结——使用Git只要这篇就够了相关推荐

  1. springboot去掉git版本控制_关于 Git 提交这些规范,你都遵守了吗?

    来源:人人贷大前端技术中心http://juejin.im/post/5d0b3f8c6fb9a07ec07fc5d0 git是现在市面上最流行的版本控制工具,书写良好的commit message能 ...

  2. Git版本控制管理(二)--git配置

    在系统上安装好 Git后,还需要配置Git 环境. 每台计算机上只需要配置一次,程序升级时会保留配置信息,也可以在任何时候再次通过运行命令来修改它们. 配置文件位置 Git 自带一个 git conf ...

  3. Git版本控制管理——基本Git概念

    基本概念 版本库 Git版本库(repository)只是一个简单的数据库,其中包括所有用来维护与管理项目的修订版本和历史信息.而Git版本不仅会维护项目整个生命周期的完整副本,还会提供版本库本身的副 ...

  4. Git版本控制与工作流

     原文出处:刘耀柱(@Sam_Lau_Dev)   欢迎分享原创到伯乐头条 Git Version Control 这篇文章是针对git版本控制和工作流的总结,如果有些朋友之前还没使用过git,对 ...

  5. Git版本控制浏览器兼容性测试

    Git版本控制工具 一.Git的基本概念 Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理Gitee 码云是有开源中国出品的代码托管平台,支持Git和SVN,提高 ...

  6. git版本控制工具使用教程(一)入门篇

    git是一款很火的版本控制工具,在团队工作中,我们经常使用这个工具,下面给大家分享下git的使用方法 首先去官网下载:https://git-scm.com/download 安装成功后点击鼠标右键会 ...

  7. Git 看这一篇就够了

    作者 |码农田小齐 责编 | Carol 封图 | CSDN 下载自视觉中国 今天简单讲下 Git 的实现原理,知其所以然才能知其然:并且梳理了日常最常用的 12 个命令,分为三大类分享给你. 本文的 ...

  8. 分布式版本控制工具:git与Mercurial(zz)

    分布式版本控制工具:git与Mercurial [收藏此页] [打印] 作者:cyfdecyf  2007-12-26 内容导航: 第1页 [IT168 技术文档]    说到版本控制工具,很多人可能 ...

  9. git 命令详解_再次学习Git版本控制工具

    微信公众号:PHP在线 Git 究竟是怎样的一个系统呢?为什么在SVN作为版本控制工具已经非常流行的时候,还有Git这样一个版本控制工具呢?Git和SVN的区别在哪儿呢?Git优势又在哪呢?下面PHP ...

最新文章

  1. java深度优先迷宫生成_通过深度优先搜索产生的迷宫的Java代码
  2. 【深度学习图像项目实战-从入门到上线1】怎样学会科学的调研并启动一个项目...
  3. 在Python中的无参装饰器和有参装饰器
  4. 项目奖金一般有多少_全年一次性奖金如何进行纳税筹划?
  5. chrome 使用gpu 加速_一招解决 Chrome / Edge 卡顿缓慢 让浏览器重回流畅顺滑
  6. mysql 日期计算_mysql两个日期计算天数怎么算?
  7. Linux(Ubuntu)下设置开机自启shell脚本执行Java程序jar包
  8. java 统计字符串中每个字符出现的次数(数组或HashMap实现)
  9. vi下的查找替换命令
  10. 内存管理之memblock探寻
  11. 《OpenGL编程指南》学习笔记
  12. Oracle客户端安装简易教程
  13. JN5169 ZigBee 3.0 协议栈之 ZPS 配置编辑器
  14. 品牌设计与VI设计的不同之处
  15. appleid注册服务器错误,连接apple id 服务器时出错(Apple ID 验证连接失败,试试这招)...
  16. easypanel默认php版本设置,easypanel面板+kangle
  17. Dice Loss,balanced cross entropy,Focal Loss
  18. JavaScript - canvas - 画直角坐标系
  19. 计算机风扇介绍,如何选择计算机风扇?
  20. 基于FPGA的呼吸灯设计

热门文章

  1. SPOJ - COT Count on a tree [LCA+主席树]【数据结构】
  2. AE开发常见问题总结
  3. 20个博客SEO优化技巧
  4. 恒生电子实习记录-13
  5. rk3128-android5.1-ota升级清除data分区
  6. 揭秘:恒生电子到底是干什么的
  7. mysql oracle as_ORACLE WITH AS 用法
  8. 英语计算机工程技术学院,加拿大本科热门专业:电子与计算机工程
  9. java.util.concurrent 包源码分析之Fork/Join框架
  10. 基于springboot校园二手网站系统 毕业设计-附源码221414