【Git版本控制系统】:起步

目录

前言

版本控制

集中式与分布式的区别

Windows安装Git

核心

文件状态

工作区域

基本工作流程

配置用户信息

获取帮助 

在线资源


前言

本篇文件的环境是Windows环境下实现。

在日常工作中git少不了,所以编写本篇文章介绍Git基础,专栏会不定期更新一些Git相关内容,便于日后工作与学习。

虽然git命令很多,但是常用的只有十多个。

版本控制

   版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。

  • 可以将选定的文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态
  • 可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题出现的原因,又是谁在何时报告了某个功能缺陷
  • 就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。 但额外增加的工作量却微乎其微.......

集中式与分布式的区别

集中式(SVN、CSV):

  • 每次在写代码时都需要从服务器中拉取一份下来,并且如果服务器丢失了,那么所有的就都丢失了,你本机客户端仅保存当前的版本信息,换句话说,集中式就是把代码放在一个服务器上集中管理,你的所有回滚等操作都需要服务器的支持;
  • 都有一个主版本号,所有的版本迭代都以这个版本号为主。
来自progit.pdf

分布式(Git):

  • 每个人的电脑都是服务器,当你从主仓库拉取一份代码下来后,你的电脑就是服务器,无需担心主仓库被删或者找不到的情况,你可以自由在本地回滚,提交,当你想把自己的代码提交到主仓库时,只需要合并推送到主仓库就可以了,同时你可以把自己的代码新建一份仓库分享给其它人;
  • git没有固定的版本号,但是有一个由哈希算法算出的id,用来回滚用的;
  • 有一个master仓库,这个仓库是一切分支仓库的主仓库,我们可以推送提交到master并合并到主仓库上,主仓库的版本号会迭代一次,我们客户端上的git版本号无论迭代多少次,都跟master无关,只有合并时,master才会迭代一次。
来自progit.pdf

Windows安装Git

        官方版本可以在 Git 官方网站下载。 打开 Git - Downloading Package,下载会自动开始。 

核心

使用git时的核心特征:

  • 直接记录快照信息
  • 几乎所有操作都在本地执行
  • 保证完整性
  • 一般只添加数据

文件状态

使用git时,文件基本处于以下几个状态:

  • 已修改modified

  • 已暂存staged

  • 已提交committed

来自progit.pdf,文件状态的变化周期

工作区域

使用git时,工作区域基本处于以下几个区域:

  • 工作目录

  • 暂存区

  • Git本地仓库

基本工作流程

1.修改文件 2.暂存文件(add) 3.提交更新(commit) 4.推送至远程仓库(push)

图片来自网络

配置用户信息

        安装完 Git 之后,要做的第一件事就是设置你的用户名邮件地址,每一次提交都会使用这些信息

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

注意:如果使用了 --global 选项,那么该命令只需要运行一次,后续所有操作都会用这些信息。

检查配置信息:

$ git config --list

获取帮助 

        如果想获取git config 命令的手册,执行

$ git help config

        如果不需要全面的手册,可以快速参考,使用-h选项获取简明的帮助

$ git config -h

=========================================================================

在线资源

http://www.git-tower.com/learn

Git官网:https://git-scm.com/

简明指南:https://rogerdudler.github.io/git-guide/index.zh.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/748988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

泰勒级数、海森矩阵、雅可比矩阵

泰勒级数 一元泰勒级数展开说明 多元泰勒级数展开说明 海森矩阵 海森矩阵说明 雅可比矩阵 雅可比矩阵说明

web学习笔记(三十二)

目录 1.函数的call、apply、bind方法 1.1call、apply、bind的相同点 1.2call、apply、bind的不同点 1.3call、apply、bind的使用场景 2. 对象的深拷贝 2.1对象的浅拷贝 2.1对象的深拷贝 1.函数的call、apply、bind方法 1.1call、apply、bind的相同点 在没有传参数时&…

OpenXR 超详细的spec--Chapter 1 Introduce

1.什么是OpenXR OpenXR是XR应用的一个API,它是app与runtime进程内或者进程外的接口。Runtime可以处理类似frame composition,外围设备管理、原始tracking information的功能。 Optionally, Runtime可以支持device layer plugins,允许通过共同…

C语言宏定义,内置宏,__FILE__,__LINE__,## 用法

​ 当然宏定义非常重要的,它可以帮助我们防止出错,提高代码的可移植性和可读性等。 下面列举一些成熟软件中常用得宏定义 1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H//头文件内容 … #endif2,重新定义一些…

Linux/secret

Enumeration nmap 第一次扫描发现系统对外开放了22,80和3000端口,端口详细信息如下 可以看到22端口对应的是ssh服务,80和3000都是http服务,80端口使用nginx,3000使用了Node.js TCP/80 可以先从80端口开始探索&…

ICSE 2024

Proceedings of the 46th IEEE/ACM International Conference on Software Engineering, ICSE 2024, Lisbon, Portugal, April 14-20, 2024. 第46届IEEE/ACM软件工程国际会议论文集,2024年4月14日至20日,葡萄牙里斯本。 1 Domain Knowledge Matters: Im…

网络原理(1)——UDP协议

目录 一、应用层 举个例子:点外卖 约定数据格式简单粗暴的例子 客户端和服务器的交互: 序列化和返序列化 xml、json、protobuffer 1、xml 2、json 3、protobuffer 二、传输层 端口 端口号范围划分 认识知名的端口号 三、UDP协议 端口 U…

数据结构之顺序表(包学包会版)

目录 1.线性表 2.顺序表 2.1概念及结构 2.2接口实现 3.总结 halo,又和大家见面了,今天要给大家分享的是顺序表的知识,跟着我的脚步,包学包会哦~ 规矩不乱,先赞后看! ps:(孙权…

【MMDetection3D实战5】Dataset 和 model配置文件解析

文章目录 1. Dataset 配置文件解析1. 1 定义全局变量1. 1 数据处理pipeline(1) train_pipeline(2) test_pipeline(3) eval_pipeline1. 2 data 字典的定义2. model 配置文件解析2. 1 体素化voxel_layer2. 2 voxel_encoder2. 3 middle_encoder2. 4 2D 检测网络(backbone + neck …

详解(实现)堆的接口函数

文章目录 堆堆的顺序存储 准备工作创建头文件Heap.h创建源文件Heap.c头文件的包含定义保存堆数据的结构体 初始化销毁堆插入数据向上调整算法图解算法代码 删除堆顶向下调整算法图解代码 取出堆顶数据求堆的数据个数判断堆是否为空全部代码Heap.hHeap.c 再了解堆之前我们先要了…

AI毕业论文降重GPTS,避免AI检测,高效完成论文

视频演示 AI毕业论文降重GPTS,避免AI检测,高效完成论文! 开发目的 “毕业论文降重”GPTS应用,作用为:重新表述学术论文,降低相似性评分,避免AI检测。 使用地址 地址:毕业论文降重…

unraid docker.img扩容

unraid 弹Docker image disk utilization of 99%,容器下载/更新失败 我的版本是6.11.5,docker.img满了导致容器不能更新,遇到同样问题的可以先用docker命令清除一下仓库(当然不一定能清理出来,我已经清理过只清理出来1G多点&…

【四 (3)数据可视化之 Seaborn 常用图表及代码实现 】

目录 文章导航一、介绍二、安装Seaborn三、导入Seaborn四、设置可以中文显示五、占比类图表1、饼图2、环形图 六、比较排序类1、条形图2、箱线图3、小提琴图 七、趋势类图表1、折线图 八、频率分布类1、直方图 九、关系类图表1、散点图2、成对关系图3、热力图 文章导航 【一 简…

vue3后台管理系统权限路由的实现

最近做管理系统的时候,需要实现不同用户登陆所展示的菜单不同,查了不少帖子,总结下实现的步骤: 1.在router/index.js的代码: import { createRouter, createWebHistory,createWebHashHistory } from vue-router impo…

基于SpringBoot+Vue交流和分享平台的设计与实现(源码+部署说明+演示视频+源码介绍)

您好,我是码农飞哥(wei158556),感谢您阅读本文,欢迎一键三连哦。💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通…

Apache zookeeper kafka 开启SASL安全认证

背景:我之前安装的kafka没有开启安全鉴权,在没有任何凭证的情况下都可以访问kafka。搜了一圈资料,发现有关于sasl、acl相关的,准备试试。 简介 Kafka是一个高吞吐量、分布式的发布-订阅消息系统。Kafka核心模块使用Scala语言开发…

【人工智能入门必看的最全Python编程实战(5)】

--------------------------------------------------------------------- 1.AIGC未来发展前景 未完持续… 1.1 人工智能相关科研重要性 拥有一篇人工智能科研论文及专利软著竞赛是保研考研留学深造以及找工作的关键门票!!! 拥有一篇人工…

数据结构 第5章 树与二叉树(一轮习题总结)

数据结构 第5章 树与二叉树 5.1 树的基本概念5.2 二叉树的概念5.3 二叉树的遍历和线索二叉树5.4 树、森林5.5 树与二叉树的应用 5.1 树的基本概念(3 4 7) 5.2 二叉树的概念(2 14 19 22) 5.3 二叉树的遍历和线索二叉树 5.4 树、森林…

AIDD简介——分类和回归任务

🌞欢迎来到AI生物医药的世界 🌈博客主页:卿云阁 💌欢迎关注🎉点赞👍收藏⭐️留言📝 🌟本文由卿云阁原创! 🌠本阶段属于练气阶段,希望各位仙友顺利…