目录

1 版本控制

1.1 什么是版本控制

1.2 为什么需要版本控制

2 Git概述

2.1 Git的工作机制

2.2 分布式版本控制工具与集中式的区别

2.3 Git是如何诞生的

3 Git的安装

4 Git常用命令

4.1 用户签名的设置和修改

4.2 查看用户签名的设置

4.3 初始化本地库

4.4 添加、删除文件到暂存区

​ 4.5 提交文件到本地库形成历史版本

4.6 修改文件内容

4.7 修改当前版本

5 Git分支

5.1 分支是什么

5.2 使用分支的好处

5.3 分支的常用操作命令

5.3.1 查看分支

5.3.2 创建分支

5.3.3 修改分支

5.3.4 切换分支

5.3.5 分支的合并

5.3.6 删除分支

6 Git常见命令速查表


1 版本控制

1.1 什么是版本控制

版本控制就是一种用来记录文件内容变化,每次文件的变化作为一个版本,以便将来查阅特定版本修订情况的系统。

下面让我们以毕业论文的多次修改为例来了解版本控制的思想:

1.2 为什么需要版本控制

个人开发时版本控制的必要性不是很突出,当过渡到团队协作开发代码的时候,版本控制就显得格外重要了 。

下面以两人共同开发代码为例,每天的工作量都保存在服务器上。

没有版本控制工具

使用了版本控制工具

2 Git概述

Git是一个开源免费的分布式版本控制工具,它具有廉价的本地库即指Git的库在本地电脑的磁盘上。

2.1 Git的工作机制

  • 工作区

工作区就是编写完代码之后,代码存储在磁盘中的位置。存储在工作区的代码是随时可以删除更新的,更新之后的代码可以添加(add)到缓存区。

  • 缓存区

缓存区用来在工作区和本地库之间起到一个缓冲的作用,添加进缓存区的代码也是可以随时删除的。缓存区的代码可以提交(commit)到本地库。

  • 本地库

提交到本地库的代码会生成该项目代码的历史版本,既然是历史版本这个库里的代码就无法随意更改了,只能基于这个版本的代码进行修改,就算修改后生成新的版本,这个历史版本依旧存在。

  • 远程库

远程库又叫做代码托管中心,是将本地库的代码推送(push)到远程库,远程库又分为局域网和互联网两种,互联网远程库中的代码都是开源的,局域网中的代码只有连接到本局域网才能查看。目前比较常用的只要有以下三种:

GitHub:配合Git使用的 【国外代码托管中心】GitHub_扎哇太枣糕的博客-CSDN博客

Gitee:配合Git使用的 【国内代码托管中心】Gitee **墙裂推荐**_扎哇太枣糕的博客-CSDN博客

GitLab:基于局域网代码托管中心,若有需要可自行了解。

2.2 分布式版本控制工具与集中式的区别

参考博客:集中式和分布式版本控制系统的区别_贫下中农-CSDN博客_分布式控制

2.3 Git是如何诞生的

Git的产生也是十分有趣的,想要了解的朋友可以看看,万一哪天跟别人装13用得上呢。参考博客:git的诞生历史_u012028371的博客-CSDN博客_git的历史

3 Git的安装

Git官网:Git

点击后会自动下载适合你电脑的最新版本的安装包,双击安装包(除了选择安装目录位置,其他选项全都无脑下一步即可)。安装之后在桌面右键然后选择Git Bash Here,键入命令git --version返回安装的版本号即证明安装成功。

4 Git常用命令

Git中的所有命令基本上都和Linux中相同,你完全可以在Git中使用Linux的命令去秀翻室友。

4.1 用户签名的设置和修改

第一次使用时设置用户签名,用来区分不同的操作者身份,不然提交代码时可能会报错,如果想要对用户签名进行修改的话,只需要再次键入该命令修改后面的值即可。

git config --global user.name 自己设置的用户名
git config --global user.email 自己的邮箱

4.2 查看用户签名的设置

Git 的安装、使用、分支、命令 一篇博客全都学会相关推荐

  1. python pip安装第三方包速度慢,这篇博客给你安排清楚了

    文章目录 ⛳️ 实战场景 ⛳️ pip 国内高速源 首推清华源 其它源 永久配置源 ⛳️ 实战场景 作为 Python 的初学者,经常要用到第三方模块的安排,常规情况下,直接使用下述命令,然后就等待去 ...

  2. 2022年从零开始,用一篇博客掌握 nginx 的初级配置

    本篇博客主要用于记录 nginx.conf 这一个文件如何修改的相关问题. 当 nginx 安装之后,默认的配置如下所示(数据来源为宝塔自动生成),本篇博客重点介绍的是配置虚拟机相关内容,即 serv ...

  3. 【个人随笔】我的第一篇博客(为什么、写什么、怎么写)

    关于这个博客(Ezrealer) 旧平台.新博客 这是我在这个博客下的第一篇博客,却是我使用CSDN的第N篇博客了,之所以又开了个博客,是想统一一下域名和ID,万一以后打造个个人品牌之类的,可以说是强 ...

  4. 我的第200篇博客:Linux下手把手搭建DHCP、DNS、HTTP、FTP服务器及遇到问题的解决过程

    这是我的第200篇博客,所以我打算写一个质量还算高的文章. 今天耗时11个小时,在CentOS 上搭建一个功能相对完整的服务器,用来检验我这几天的学习成果.(不一定非要CentOS,Ubuntu也很香 ...

  5. C博客作业00--我的第一篇博客

    这个作业属于哪个班级 C语言–网络2011/2012 这个作业的地址 C博客作业00–我的第一篇博客 这个作业的目标 学习Makdown语法,对本专业及C语言课程有个简单了解,记录自学慕课视频的笔记. ...

  6. 【软件推荐】身为高级unity工程师,电脑上的软件一览表,从工作顺序带你一览高级unity工程师所用的软件,如果高级是你的目标,这篇博客绝对不会让你失望

    目录 题目 开头 开发之前 钉钉 FeiQ OFFICE 开发中 UnityHub Visual Studio 2019 Everything Notepad++ git TortoiseGit To ...

  7. IoT 设备接入服务,你从这篇博客就能快速上手~

    写作前面 本篇博客涉及的内容为华为 IoT 起手知识,正式开始前优先了解一下相关概念. 华为 IoT,即设备接入服务(IoT Device Access),基于华为云的物联网平台,提供设备连接上云,设 ...

  8. 如果你需要用Python搞个二维码,那应该收藏这篇博客

    文章目录 ⛳️ 交代背景 ⛳️ pyqrcode 实现二维码 ⛳️ qrcode 实现二维码 ⛳️ MyQR 实现二维码 ⛳️ Amazing-QR 实现二维码 ⛳️ 交代背景 作为一名合格的 Pyt ...

  9. 3个月时间,5名黑客找出苹果55个漏洞,赚了5万多美元,还写了篇博客记录全程

    大数据文摘出品 作者:刘俊寰.朱科锦.lin 昨天,翘首期待的iPhone12终于面世,不管是回归经典方框设计,还是首次推出小屏mini版,都让苹果玩家大呼过瘾. 不过,在今年这场别开生面的发布会之前 ...

最新文章

  1. matlab实现周期阶跃函数,连续时间信号傅利叶变换与MATLAB实现.doc
  2. Qt for Android (Alpha) 发布
  3. java学习笔记(五)----super用法,final用法,抽象类,接口
  4. (转)matlab各类数学公式
  5. 数列分块入门 3(LibreOj-6279)
  6. Android软件测试Monkey测试工具
  7. shell中用grep查找并且不输出_grep awk 搜索日志常用命令
  8. android 崩溃捕获框架,DefenseCrash
  9. Beetl学习总结(2)——基本用法
  10. 田汉卿 | 量化基金怎么投,才能源源不断赚钱?
  11. 二分类变量相关性分析spss_SPSS教程 | 两个有序分类变量的相关分析及SPSS操作
  12. android 应用市场发布以及流程(非原创)
  13. 计算机考研复试笔试题库,苏州大学计算机考研复试真题和复试参考书目
  14. Vim插件(三) Terminal 终端
  15. 杭州地铁行业十四五发展可行性及投资机遇研究报告2022版
  16. 大白话讲解,大数据基本术语
  17. 中国大学MOOC浙江大学“程序设计入门——C语言”的PTA练习题目集答案
  18. 百度地图SDK for Android【覆盖物】
  19. 微信小程序如何修改小程序名称
  20. C#:Krypton控件使用方法详解(第十四讲) ——kryptonSeparator

热门文章

  1. linux下查看cmake的版本
  2. 同步方法及同步代码块
  3. linux桌面发展方向,观点|Linux 桌面的发展之路!
  4. 绵阳市公文写作和计算机应用,【绵阳】绵阳市事业单位公开招聘工作人员公文写作和计算机应用笔试和复习大纲...
  5. 转码java,java转码
  6. ffmpeg 音乐循环_[宜配屋]听图阁
  7. php判断url参数为空,PHP检查url链接是否已经有参数的简单示例
  8. 三星手机 java_如何在三星手机上安装Java ME应用程序?
  9. fdtd中时间监视器怎么放_利用FDTD软件仿真拓扑光子(六)-单向传播仿真与软件设置...
  10. ubuntu 报错E: Unable To Locate Package Software-properties-common