轻松了解工作与学习必备的版本控制+Git,全程舒适~

news2024/11/20 14:32:48

目录

一、版本控制

二、版本控制器

三、Git

四、项目实操

第一步 在github上创建一个新的远程仓库

第二步 克隆到本地文件夹

第三步 IDEA(PyCharm为例)集成Git


一、版本控制

概念:版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。

为何需要版本控制:很好理解,在工作中任何项目都不可能一次性完成,总需要经过不断的迭代、更新。这个过程就会不断产生新老版本的更替,为了让更替顺利完成,就需要对每个版本的内容进行控制和管理,这就是版本控制存在的原因。

分类:版本控制包括三个类别,分别是本地版本控制、集中版本控制和分布式版本控制。

本地版本控制:就是在本地对项目所有的文件进行一个管理,例如我们会对不同版本的文件名取不同的名字作区分,在本地形成一系列的版本文件。

集中版本控制:所有的历史版本存放在中央服务器中,本地电脑只有联网才能获取历史版本。

分布式版本控制:服务器、每个本地电脑都保有历史版本,因此无需联网即可实现历史版本的存取以及项目的更新。缺点是增加本地存储消耗的空间并且项目有泄露的风险。

二、版本控制器

常见的版本控制器包括Git、SVN、CVS、VSS、TFS等。其中Git是全球最先进的分布式版本控制器;SVN是常用的集中式版本控制工具。

三、Git

1. Git下载安装

百度git,第一个就是git官网。点击下图按钮即可下载

2. Git配置

在下载完Git后,推荐使用Git Bash工具进行后续的操作。下面是查看Git配置的操作

因为之前我已经配置过用户名和邮箱了,所以这里会直接显示。如果是新使用的人,可以使用如下命令配置(只用配置用户名和邮箱即可):

git config global user.name "xxx"

git config global user.email "xxx"

3. Git基本原理(核心)

如下图所示,有三个命令可以完成项目从本地的工作区到远程仓库的过程。

工作区:即自己电脑中存放项目文件的文件夹

缓存区:工作区中的所有文件的一个快照(信息介绍),事实上它只是一个文件,保存即将提交到文件列表的信息

本地仓库:里面存放提交到所有版本的数据,其中的HEAD指向最新放入仓库的版本

工作流程:在工作目录中添加、修改好文件;将需要进行版本管理的文件放入暂存区域;将暂存区域的文件提交到git仓库。因此git管理的文件一般有三种状态:已修改(modified)、已暂存(staged)、已提交(committed)

 4. Git忽略文件

并不是项目所有的文件都需要进行提交,可以通过创建一个名为.gitignore的文件,在里面写上提交时需要忽略的文件即可。具体的忽略语法可以自行上网查询。

四、项目实操

第一步 在github上创建一个新的远程仓库

 

创建成功!

第二步 克隆到本地文件夹

如下图,我将上面创建的项目克隆到我的e盘

 本地情况如下图所示,和远程仓库一样,所以这个就是我的本地仓库了(通过克隆的方式创建)

第三步 IDEA(PyCharm为例)集成Git

1. 首先创建任意一个项目(这里特意取一个不同的名称) 

此时可以发现IDEA中是没有Git相关的图标的

接下来我们把之前克隆下来的learn_git文件全部拷贝到git_study中

可以发现多了git图标

2. 下面是进行提交操作

显示提交成功的信息(注意,此时只是提交到本地仓库,远程仓库即github上是没有更新的)

3. 进行push,把commit给push到远程仓库中

下面可以看到push成功

 

 

 

 

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

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

相关文章

【spring cloud学习】4、创建服务提供者

注册中心Eureka Server创建并启动之后,接下来介绍如何创建一个Provider并且注册到Eureka Server中,再提供一个REST接口给其他服务调用。 首先一个Provider至少需要两个组件包依赖:Spring Boot Web服务组件和Eureka Client组件。如下所示&…

ADRC自抗扰控制(CODESYS平台完整源代码)

博途PLC ADRC完整源代码请参考下面文章链接: 博途PLC ADRC自抗扰控制完整SCL源代码_adrc控制算法代码_RXXW_Dor的博客-CSDN博客关于自抗扰控制框图可以参看专栏的其它文章,这里不再讲解具体算法过程,详细了解也可以参看韩京清研究员写的 《ADRC自抗扰》一书。_adrc控制算法…

基于混合策略的改进哈里斯鹰优化算法-附代码

基于混合策略的改进哈里斯鹰优化算法 文章目录 基于混合策略的改进哈里斯鹰优化算法1.哈里斯鹰优化算法2.改进哈里斯鹰优化算法2.1 Sobol 序列初始化种群2.2 limit 阈值执行全局搜索阶段2.4 动态反向学习 3.实验结果4.参考文献5.Matlab代码6.python代码 摘要:针对原…

ElasticSearch-Kibana的安装

Kibana的安装 什么是ELK? ELK是Elasticsearch,Logstash,Kibana三大开源框架首字母大写简称,ELK属于大数据,是拆箱即用的,上手比较快 什么是Kibana? Kibana是一个针对ES的开源分析以及可视化平台,用来搜索,查看交互存储在ES索引中的数据,使用Kibana可以通过各类图标进行高级…

Flink(1)-概述

1.1 Apache Flink是什么? 在当前数据量激增的时代,各种业务场景都有大量的业务数据产生,对于这些不断产生的数据应该如何进行有效的处理,成为当下大多数公司所面临的问题。目前比较流行的大数据处理引擎Apache Spark,…

SpringBoot第14讲:SpringBoot 如何统一异常处理

SpringBoot第14讲:SpringBoot 如何统一异常处理 本文是SpringBoot第14讲,SpringBoot接口如何对异常进行统一封装,并统一返回呢?以上文的参数校验为例,如何优雅的将参数校验的错误信息统一处理并封装返回呢 文章目录 Sp…

诊断测试工具CANoe.DiVa从入门到精通系列——开门见山

我是穿拖鞋的汉子,魔都中坚持长期主义的工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 人们会在生活中不断攻击你。他们的主要武器是向你灌输对自己的怀疑:你的价值、你的能力、你的潜力。他们往往会将此伪装成客观意见,但无一例外的是,他们想…

网络安全就业前景如何?是否还能入行?

网络安全专业是2015年新设立的专业,作为新兴专业吸引了很多人准备入行,那么它的就业前景怎么样?大致可以分为3个版块来介绍。 1.就业领域前景广阔 目前互联网、通信、新能源、房地产、金融证券、电子技术等行业迫切需要网络安全人才&#x…

22. 算法之图的最短路径

前言 关于图的最短路径问题,是图这种数据结构中的经典问题。也是与我们的生活息息相关的,比如上海四通八达的地铁线路,从一个地铁站,到另一个地铁站,可能有很多种不同的路线。那么,我们选哪种路线&#xf…

JavaFX第五篇 Image图片加载处理

JavaFX第五篇 Image图片加载处理 1. 代码2. 讲解3. 代码仓 图片已经成为每个网站的必备了,不仅可以提升个人网站的标识度而且还可以美化网站, 所以这里需要讲解一下如何加载图片,展示到前台给用户查看。 本次只是简单的讲解如何展示使用&…

【算法证明 七】深入理解深度优先搜索

深度优先搜索包含一个递归,对其进行分析要复杂一些。与上一篇文章一样,还是给节点定义几个状态,然后详细分析深度优先搜索算法有哪些性质。 算法描述 定义状态 v . c o l o r :初始状态为白色,被发现时改为灰色&…

Mysql的SQL性能分析【借助EXPLAIN分析】

性能分析 要说sql有问题,需要拿出证据,因此需要性能分析 Mysql查询优化器(Mysql Query Optimizer) Mysql中有专门负责优化SELECT语句的优化器模块,主要功能:通过计算分析系统中收集到的统计信息&#xf…

Xline v0.4.1: 一个用于元数据管理的分布式KV存储

Xline是什么?我们为什么要做Xline? Xline是一个基于Curp协议的,用于管理元数据的分布式KV存储。现有的分布式KV存储大多采用Raft共识协议,需要两次RTT才能完成一次请求。当部署在单个数据中心时,节点之间的延迟较低&a…

python机器学习——分类模型评估 分类算法(k近邻,朴素贝叶斯,决策树,随机森林,逻辑回归,svm)

目录 分类模型的评估模型优化与选择1.交叉验证2.网格搜索 【分类】K近邻算法【分类】朴素贝叶斯——文本分类实例:新闻数据分类 【分类】决策树和随机森林1.决策树2.决策树的算法3.代码实现实例:泰坦尼克号预测生死 【集成学习】随机森林1.集成学习2.随机…

LOMO:在受限资源上全参数微调

LOMO:Full Parameter Fine-Tuning for large language models with limited resources IntroductionMethodRethink the functionality of optimizerUsing SGD LOMO: LOw-Memory Optimization 实验参考 Introduction 在这篇文章中,作者的目的…

Go 语言进阶 - 工程进阶

前言: \textcolor{Green}{前言:} 前言: 💞这个专栏就专门来记录一下寒假参加的第五期字节跳动训练营 💞从这个专栏里面可以迅速获得Go的知识 今天的内容包括以下两个内容。关于实践的内容我会在后续发布出来。 01.语言…

新零售破局丨2023年探索全新电商运维模式——永倍达模式深度解析

新零售破局丨2023年探索全新电商运维模式——永倍达模式深度解析 大家好!我是微三云胡佳东,一家专业的电商软件开发公司的负责人。 近年来,随着电商的高速发展,不少电商平台成为了市场经济的优质榜样,互联网市场竞争也…

设计模型学习-UML图

1,简介 UML图有很多种类型,但掌握其中的类图、用例图和时序图就可以完成大部分的工作。其中最重要的便是「类图」,它是面向对象建模中最常用和最重要的图,是定义其他图的基础。 类图主要是用来显示系统中的类、接口以及它们之间的…

Ubuntu环境下读取罗技G29方向盘信息

本篇博客最早发布于实验室公共博客,但已无人维护,现迁移至个人博客 引言 实验室有这么酷的驾驶设备,来了一年还没有实际操作过,早就蠢蠢欲试了,哈哈哈不过之前负责的师兄还在就一直没敢用,现在他毕业了就可…

rust abc(2): 从 hello world 到整数、浮点类型

文章目录 1. 目的2. 搞懂 hello world2.1 代码2.2 fn 的含义2.3 main() 的含义2.4 println! 的含义2.5 行尾分号是必要的吗?2.6 左花括号可以放下一行吗? 3. 数据类型的例子3.1 代码3.2 rust 的注释3.3 编译运行结果3.4 基本数据类型 4. 整数类型的例子4…