git【工具软件】分布式版本控制工具软件

一、Git 的介绍

git软件的作用:管理软件开发项目中的源代码文件。

常用功能:

仓库管理、文件管理、分支管理、标签管理、远程操作

功能指令:

add,commit,log,branch,tag,remote,status

1.1 SCM:

软件配置管理(Software Configuration Management )

SCM 是指通过执行版本控制、变更控制的规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。

配置管理是对工作成果的一种有效保护。

1.2 SCM 软件:

需要中央服务器:

  • Visual Source Safe:美国微软公司出品的版本控制系统,简称 VSS,集中式版本控制系统。
    • 不适合复杂的多人协同开发,软件收费
  • Concurrent Versions System:老牌的版本控制系统,它是基于客户端 / 服务器的行为使得其可容纳多用户,构成网络也很方便,简称 CVS
    • 支持多人合作,协同开发,但是存在软件编码问题
  • Subversion:CVS 的升级版本,开放源代码的版本控制系统,实现共享资源,实现最终集中式的管理

分布式版本控制:

  • Git:开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

版本控制:

集中式版本控制

分布式版本控制

多人协作开发

版本的作用:

保存重要的历史记录

恢复数据

二、Git 概念

1.1 版本控制软件的基础功能

1.保存和管理软件

2.提供客户端工具进行访问

3.提供不同版本文件的比对功能

1.2 集中式版本控制

会出现的问题:文件冲突问题 ——》解决方式:加锁

1.3 分布式版本控制

三、Git 的深入了解

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

Git 的版本号是:40个16进制的数字组成的版本号(提交码)

3.1 Git 分支原理:

3.2 Git 中的一些信息

版本号:Git 软件根据 SHA-1 算法来获得的,长度是40位

        可以避免冲突

        可以定位仓库中的文件:2(文件夹)+ 38(文件名)

 

3.3 git 的一些相关指令:

1. 查看当前 git 的版本:git -v

2. 在当前目录创建我们的仓库:git init

3. 用工具来创建仓库:

4. 克隆远程仓库的内容:git clone 克隆网址

5. 克隆远程仓库的内容并自定义名称:git clone 克隆网址 新名字

6. 查看暂存区状态:git status

7. 将工作区的文件加到暂存区做比对操作:git add 文件名

8. 将暂存区的文件移动到工作区:git rm --cached 文件名

9. 将暂存区文件提交到存储区域:git commit -m 提交信息

10. 查看日志信息:git log

查看日志信息,并以一行进行展示:git log --oneline

11. 把误删除的文件恢复到工作区:git restore 文件名

从历史记录(日志)中恢复【可能会丢失提交过程】:git reset --hard 版本号

12. 把版本库还原到这个版本之前:git revert 版本号

13. 增加分支 (在仓库中有提交后才可以):git branch 分支名

查看分支个数:git branch -v

切换分支:git checkout 分支名

创建分支并切换过去:git checkout -b 分支名

删除分支:git branch -d 分支名

14. 分支的合并和冲突:

合并分支中的内容:git merge 分支名

15. tag 标签操作:

给版本添加标签(但是标签不能重复 ):git tag 标签名 版本号

查看标签:git tag 

删除标签:git tag -d 标签名

16. 远程仓库操作:

SSH 地址需要提供安全认证规则。

17. 自己搭建代码托管平台:

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

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

相关文章

Ubuntu Linux LTS 24.04 AMD64 桌面版安装记录

下载iso aria2c -x 4 -s 12 "https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/24.04/ubuntu-24.04-desktop-amd64.iso" "https://mirrors.163.com/ubuntu-releases/24.04/ubuntu-24.04-desktop-amd64.iso" "https://mirrors.zju.edu.cn/ubuntu…

[pyradiomics][python]pyradiomics所有whl文件下载地址汇总

源码地址:https://github.com/AIM-Harvard/pyradiomics pyradiomics是一个开源的Python软件包,专门用于从医学影像中提取高通量的定量特征,这些特征被称为影像组学(Radiomics)特征。以下是关于pyradiomics的详细介绍: 一、基本概…

华为端云一体化开发 (起步1.0)(HarmonyOS学习第七课)

官方文献: 为丰富HarmonyOS对云端开发的支持、实现端云联动,DevEco Studio推出了云开发功能,开发者在创建工程时选择云开发模板,即可在DevEco Studio内同时完成HarmonyOS应用/元服务的端侧与云侧开发,体验端云一体化协…

大数据面试题第二期*6

题1、Namenode挂了怎么办? 方法一:将SecondaryNameNode中数据拷贝到namenode存储数据的目录。 方法二:使用importCheckpoint选项启动namenode守护进程,从而将SecondaryNameNode中数据拷贝到namenode目录中。 题2、Hadoop 的namenode 宕机怎么…

论文代码解读STPGNN

1.前言 本次代码文章来自于《2024-AAAI-Spatio-Temporal Pivotal Graph Neural Networks for Traffic Flow Forecasting》,基本模型结构如下图所示: 文章讲解视频链接 代码开源链接 接下来就开始代码解读了。 2.代码解读 class nconv(nn.Module):de…

NDIS Filter开发-网络数据的传输

和NIC小端口驱动不同的是,无需考虑网络数据具体是如何传输的,只需要针对NBL进行处理即可。Filter驱动程序可以启动发送请求和接收指示,或“过滤”其他驱动程序的请求和指示。Filter模块堆叠在微型端口适配器上。 驱动程序堆栈中的Filter模块…

谷粒商城实战(033 业务-秒杀功能4-高并发问题解决方案sentinel 1)

Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强 总时长 104:45:00 共408P 此文章包含第326p-第p331的内容 关注的问题 sentinel(哨兵) sentinel来实现熔断、降级、限流等操作 腾讯开源的tendis&#xff0c…

ctfshow web

【nl】难了 <?php show_source(__FILE__); error_reporting(0); if(strlen($_GET[1])<4){echo shell_exec($_GET[1]); } else{echo "hack!!!"; } ?> //by Firebasky //by Firebasky ?1>nl //先写个文件 ?1*>b //这样子会把所有文件名写在b里…

JSON 无法序列化

JSON 无法序列化通常出现在尝试将某些类型的数据转换为 JSON 字符串时&#xff0c;这些数据类型可能包含不可序列化的内容。 JSON 序列化器通常无法处理特定类型的数据&#xff0c;例如日期时间对象、自定义类实例等。在将数据转换为 JSON 字符串之前&#xff0c;确保所有数据都…

clickhouse学习笔记(三)常见表引擎

目录 一、 MergeTree系列引擎 1、MergeTree 数据TTL &#xff08;1&#xff09; 列级别 TTL &#xff08;2&#xff09; 表级别 TTL 存储策略 2、ReplacingMergeTree 3、CollapsingMergeTree 4、VersionedCollapsingMergeTree 5、SummingMergeTree 6、AggregatingMe…

「动态规划」如何求地下城游戏中,最低初始健康点数是多少?

174. 地下城游戏https://leetcode.cn/problems/dungeon-game/description/ 恶魔们抓住了公主并将她关在了地下城dungeon的右下角。地下城是由m x n个房间组成的二维网格。我们英勇的骑士最初被安置在左上角的房间里&#xff0c;他必须穿过地下城并通过对抗恶魔来拯救公主。骑士…

【Text2SQL 论文】C3:使用 ChatGPT 实现 zero-shot Text2SQL

论文&#xff1a;C3: Zero-shot Text-to-SQL with ChatGPT ⭐⭐⭐⭐ arXiv:2307.07306&#xff0c;浙大 Code&#xff1a;C3SQL | GitHub 一、论文速读 使用 ChatGPT 来解决 Text2SQL 任务时&#xff0c;few-shots ICL 的 setting 需要输入大量的 tokens&#xff0c;这有点昂贵…

基于GLM生成SQL,基于MOSS生成SQL,其中什么是GLM 什么是MOSS

GLM 和 MOSS 是两种不同的模型或系统&#xff0c;通常用在自然语言处理 (NLP) 和生成任务中&#xff0c;如生成 SQL 查询。让我们逐个解释它们的含义和用途&#xff1a; GLM (Generalized Language Model) GLM 是一种通用语言模型&#xff0c;设计用于处理和生成自然语言。以…

MacOS M系列芯片一键配置多个不同版本的JDK

第一步&#xff1a;下载JDK。 官网下载地址&#xff1a;Java Archive | Oracle 选择自己想要下载的版本&#xff0c;一般来说下载一个jdk8和一个jdk11就够用了。 M系列芯片选择这两个&#xff0c;第一个是压缩包&#xff0c;第二个是dmg可以安装的。 第二步&#xff1a;编辑…

eclipse插件开发(二)RCP第三方库的引入方式

RCP第三方库的引入 最近在RCP开发过程中遇到JSON串与对象互转的问题&#xff0c;如何像spring开发模式一样引入第三方库呢&#xff1f;eclipse插件开发中用到p2库&#xff0c;但也支持maven库的引入。关键在于.target这个关键文件。 .target 文件用于定义一个目标平台&#x…

民主测评要做些什么?

民主测评&#xff0c;作为一种重要的民主管理工具&#xff0c;旨在通过广泛征求群众意见&#xff0c;对特定对象或事项进行客观、公正的评价。它不仅是推动民主参与、民主监督的重要手段&#xff0c;也是提升治理效能、促进社会和谐的有效途径。以下将详细介绍民主测评的主要过…

常见的布局方法及优缺点

页面布局常用的方法有浮动、定位、flex、grid网格布局、栅格系统布局 浮动&#xff1a; 优点&#xff1a;兼容性好。 缺点&#xff1a;浮动会脱离标准文档流&#xff0c;因此要清除浮动。我们解决好这个问题即可。 绝对定位 优点&#xff1a;快捷。 缺点&#xff1a;导致子…

如何以非交互方式将参数传递给交互式脚本

文章目录 问题回答1. 使用 Here Document2. 使用 echo 管道传递3. 使用文件描述符4. 使用 expect 工具 参考 问题 我有一个 Bash 脚本&#xff0c;它使用 read 命令以交互方式读取命令参数&#xff0c;例如 yes/no 选项。是否有一种方法可以在非交互式脚本中调用这个脚本&…

vue用vite配置代理解决跨域问题(target、rewrite和changeOrigin的使用场景)

Vite的target、rewrite和changeOrigin的使用场景 1. target 使用场景&#xff1a;target 属性在 Vite 的 vite.config.ts 或 vite.config.js 文件的 server.proxy 配置中指定&#xff0c;用于设置代理服务器应该将请求转发到的目标地址。这通常是一个后端服务的API接口地址。…

Chrome 源码阅读:跟踪一个鼠标事件的流程

我们通过在关键节点打断点的方式&#xff0c;去分析一个鼠标事件的流程。 我们知道chromium是多进程模型&#xff0c;那么&#xff0c;我们可以推测&#xff1a;一个鼠标消息先从主进程产生&#xff0c;再通过跨进程通信发送给渲染进程&#xff0c;渲染进程再发送给WebFrame&a…