当前位置: 首页 > news >正文

关于 Git 你了解多少?

 

 1. 什么是Git?

        Git 是一个版本控制系统,由林纳斯·托瓦兹创建。它旨在管理项目代码的更改,以便团队成员可以协作开发和维护代码库。Git 可以让用户跟踪代码的更改、回滚错误的更改、合并代码等。Git 还具有分支和标签的功能,使得团队成员可以在独立开发的基础上集成代码。与其他版本控制系统不同的是,Git 不用依赖中央服务器来协作开发,这使得它更加灵活和分布式。

 2. 为什么会有Git?

        Git是一个版本控制系统,它的出现是为了解决开发过程中的协作和管理问题。在软件开发中,经常出现多人同时开发同一份代码的情况,而这些人可能在不同的地点,使用不同的计算机和操作系统,因此需要一个能够协调这些人的工作,监控代码的变化,保证代码的可靠性和维护性的工具。Git提供了一种可靠的方式来跟踪代码的变化,并帮助团队协作,从而大大提高了软件开发的效率和质量。 

3.  Git 的基本概念及使用方式

        Git 是一款分布式版本控制系统,它可以记录一个项目的历史变化,包括代码的增删改以及文件的操作,方便团队协作开发和版本管理。

3.1 Git 的基本概念及使用方式:

1. 仓库(Repository):Git 用仓库来保存项目代码及其历史变化,每个仓库都有一个唯一的标识符。

2. 分支(Branch):在 Git 中,分支指的是代码的不同版本,可以在某一时刻从主分支(通常是 master)上分离出来,作为一个独立的分支来进行开发。

3. 提交(Commit):Git 中的提交指的是将代码变动保存到仓库中的操作,每个提交都有一个唯一的标识符,可以用来区分不同的提交记录。

4. 合并(Merge):在 Git 中,合并指的是将不同分支上的代码合并到一起,保持代码的一致性。

5. 克隆(Clone):Git 允许用户将远程仓库的代码复制到本地,这个过程叫做克隆。

6. 推送(Push):Git 中的推送指的是将本地代码变动推送到远程仓库中,使得其他人能够获取这些变动。

7. 拉取(Pull):Git 中的拉取指的是从远程仓库中获取最新的代码变动,并将其合并到本地代码库中。

3.2 使用 Git 的方式如下:

1. 首先需要在本地安装 Git,可以到 Git 官网下载安装程序进行安装。

2. 创建一个新的仓库或者从远程仓库中克隆一个现有的仓库。

3. 在本地进行代码的修改和开发,使用 git add 命令将修改的文件添加到暂存区,使用 git commit 命令将暂存区的代码提交到仓库中。

4. 使用 git push 命令将本地仓库推送到远程仓库,使得其他人可以获取最新的代码变动。

5. 在团队协作开发中,当出现分支冲突时,可以使用 git merge 命令将不同分支的代码合并到一起,确保代码的一致性。

4. Git工具的安装

Git可以在官网上下载:https://git-scm.com/downloads

安装步骤:
1. 下载安装包(根据自己的操作系统选择相应的版本)。
2. 双击安装包,跟随安装向导进行安装。默认选项即可,但需要注意一些选项,例如PATH环境变量的设置
3. 安装完成后,在终端或命令行窗口中输入`git --version`,如果出现类似“git version 2.30.1”的信息,则说明安装成功。

安装完成后,可以开始使用Git进行版本控制。

5.Git常用命令清单

以下是Git常用命令清单:

1. git init:初始化一个Git仓库。

2. git add <file>:将文件添加到暂存区。

3. git commit -m "commit message":将暂存区中的文件提交到本地仓库,并附上提交信息。

4. git status:查看仓库的状态,包括新增、修改、删除等操作。

5. git log:查看提交历史记录,包括提交人、提交时间、提交信息等。

6. git branch:列出本地所有的分支。

7. git checkout <branch>:切换到指定的分支。

8. git merge <branch>:将指定分支合并到当前分支。

9. git remote add <name> <url>:添加远程仓库。

10. git pull:从远程仓库拉取最新代码。

11. git push:将本地仓库推送到远程仓库。

12. git clone <repo>:克隆一个仓库到本地。

13. git fetch:拉取远程仓库的最新代码到本地,但不合并。

14. git reset <file>:取消对文件的修改。

15. git stash:将当前暂存区中未提交的修改暂存起来,可以在之后恢复。

以上只是Git常用命令的一部分,更多Git命令可以通过官方文档查阅。

6. Git官网的文档:

https://git-scm.com/book/zh/v2

        这是Git官方文档,内容详实,提供了非常详细的Git使用说明,从基础的命令到高级功能都有讲解。而且,官方文档有中文版,方便国内用户阅读,对英文不好的小伙伴非常友好!

7.Git学习的资料(强烈推荐)

https://www.liaoxuefeng.com/wiki/896043488029600

        这是廖雪峰老师的Git教程,从入门到提交全面讲解了Git的基础知识和常用命令。不仅讲述了Git的使用,还阐述了Git的设计思路和原理,非常适合初学者学习 

 

 感谢观看,希望对铁子们有所帮助!!

相关文章:

关于 Git 你了解多少?

1. 什么是Git? Git 是一个版本控制系统&#xff0c;由林纳斯托瓦兹创建。它旨在管理项目代码的更改&#xff0c;以便团队成员可以协作开发和维护代码库。Git 可以让用户跟踪代码的更改、回滚错误的更改、合并代码等。Git 还具有分支和标签的功能&#xff0c;使得团队成员可以在…...

关于Elasticsearch的自动补全、数据同步和集群,以下是相关的知识点

1. 自动补全&#xff1a;Elasticsearch可以通过自动补全功能帮助用户快速查找相关的内容。它使用了一种称为“completion suggester”的功能来实现自动补全&#xff0c;是一种基于前缀的建议查询&#xff0c;可以在用户输入时提供实时建议。 2. 数据同步&#xff1a;Elasticse…...

linux套接字-Socket

1.概念 局域网和广域网 局域网&#xff1a;局域网将一定区域内的各种计算机、外部设备和数据库连接起来形成计算机通信的私有网络。广域网&#xff1a;又称广域网、外网、公网。是连接不同地区局域网或城域网计算机通信的远程公共网络。IPInternet Protocol&#xff09;&#…...

debian 修改镜像源为阿里云【详细步骤】

文章目录 修改步骤第 1 步:安装 vim 软件第 2 步:备份源第 3 步:修改为阿里云镜像参考👉 背景:在 Docker 中安装了 jenkins 容器。查看系统,发现是 debian 11(bullseye)。 👉 目标:修改 debian bullseye 的镜像为阿里云镜像,加速软件安装。 修改步骤 第 1 步:…...

从0到0.01入门React | 004.精选 React 面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…...

Linux 本地zabbix结合内网穿透工具实现安全远程访问浏览器

前言 Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。能监视各种网络参数&#xff0c;保证服务器系统的安全运营&#xff1b;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 本地zabbix web管理界面限制在只能局域…...

【以图会意】文件系统从外存到内存到用户空间

首先&#xff0c;在文件目录中&#xff0c;装有很多块FCB&#xff0c;由文件名和i指针两部分构成&#xff0c;指针指向文件所在的索引结点&#xff0c;包含了例如&#xff1a;文件存储权限&#xff0c;文件长度等一系列文件的信息&#xff0c;最重要的当然是物理地址&#xff0…...

一、交换配置

2.SW1、SW2、SW3启用MSTP,实现网络二层负载均衡和冗余备份,创建实例Instance10和Instance20,名称为skills,修订版本为1,其中Instance10关联Vlan60和Vlan70,Instance20关联Vlan80和Vlan90。SW1为Instance0和Instance10的根交换机,为Instance20备份根交换机;SW2为Instanc…...

验证码:EasyDL 机器学习识别与云码平台一站式识别

目录 EasyDL 机器学习识别&#xff08;实践&#xff1a;京东商城&#xff09; &#xff08;一&#xff09;批量获取验证码图片 &#xff08;二&#xff09;EasyDL机器学习&#xff08;百度智能云&#xff09; &#xff08;三&#xff09;调用EasyDLAPI接口识别验证码 云码…...

postgreSQL中的高速缓存

1. 高速缓存简介 ​如下图所示&#xff0c;当一个postgreSQL进程读取一个元组时&#xff0c;需要获取表的基本信息&#xff08;例如&#xff1a;表的oid、索引信息和统计信息等&#xff09;及元组的模式信息&#xff0c;这些信息被分别记录在多个系统表中。通常一个表的模式信…...

我把MySQL运行在Docker上,差点完了……

容器的定义&#xff1a;容器是为了解决“在切换运行环境时&#xff0c;如何保证软件能够正常运行”这一问题。 目前&#xff0c;容器和 Docker 依旧是技术领域最热门的词语&#xff0c;无状态的服务容器化已经是大势所趋&#xff0c;同时也带来了一个热点问题被大家所争论不以&…...

【华为OD题库-023】文件目录大小-java

题目 一个文件目录的数据格式为:目录id,本目录中文件大小&#xff0c;(子目录id列表)。其中目录id全局唯一&#xff0c; 取值范围[1 ,200]&#xff0c;本目录中文件大小范围[1,1000]&#xff0c;子目录id列表个数[0,10] 例如: 1 20 (2,3)表示目录1中文件总大小是20,有两个子目录…...

4. 【自动驾驶与机器人中的SLAM技术】点云中的拟合问题和K近邻

目录 1.在三维体素中定义 NEARBY14&#xff0c;实现 14 格最近邻的查找。2.推导arg max||Ad||22的解为ATA的最大特征向量或者奇异向量。3. 将本节的最近邻算法与一些常见的近似最近邻算法进行对比&#xff0c;比如nanoflann&#xff0c;给出精度指标和时间效率指标。4. 也欢迎大…...

正点原子嵌入式linux驱动开发——Linux ADC驱动

在之前的笔记中&#xff0c;学习了如何给ICM20608编写IIO驱动&#xff0c;ICM20608本质就是ADC&#xff0c;因此纯粹的ADC驱动也是IIO驱动框架的。本章就学习一下如何使用STM32MP1内部的ADC&#xff0c;并且在学习巩固一下IIO驱动。 ADC简介 ADC ADC&#xff0c;Analog to D…...

自动化测试介绍和分类,看这一篇就够了

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…...

Debian中执行脚本 提示没有那个文件或目录

原因是在脚本头有句&#xff1a; ~/.bash_profile这个在CentOS里执行是正常的&#xff0c;但在Debian中是没有的&#xff0c;它改成了&#xff1a; ~/.profile一、区别&#xff1a; 1、/etc/profile&#xff1a; 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文…...

放松鸭-技术支持

“放松鸭”利用苹果手表的HRV心率变异性和静息心率等数据进行分析&#xff0c;帮助您了解当前身体疲劳和心理压力程度&#xff0c;并及时提醒您的压力状态。我们的目标是让您更好地感知、管理和应对压力&#xff0c;让您的身心得到平静和放松。通过读取您的心脏数据&#xff0c…...

Vue 报错error:0308010C:digital envelope routines::unsupported

你遇到的错误&#xff0c;error:0308010C:digital envelope routines::unsupported&#xff0c;与 OpenSSL 相关&#xff0c;表明在你的 Vue.js 应用中可能存在与加密操作相关的问题。这种错误通常出现在 OpenSSL 库存在不匹配或问题的情况下。 以下是解决此问题的一些建议&am…...

Android 9.0 隐藏设置中一级菜单“已连接的设备”

Android 9.0 隐藏设置中一级菜单“已连接的设备” 接到客户反馈需要隐藏设备设置中的“已连接的设备”一级菜单&#xff0c;具体修改参照如下&#xff1a; /vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/SettingsActivity.java somethin…...

Hive开窗函数根据特定条件取上一条最接近时间的数据(根据条件取窗口函数的值)

一、Hive开窗函数根据特定条件取上一条最接近时间的数据&#xff08;单个开窗函数&#xff0c;实际取两个窗口&#xff09; 针对于就诊业务&#xff0c;一次就诊&#xff0c;多个处方&#xff0c;处方结算时间可能不一致&#xff0c;然后会有多个AI助手推荐用药&#xff0c;会…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...

自然语言处理——文本分类

文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益&#xff08;IG&#xff09; 分类器设计贝叶斯理论&#xff1a;线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别&#xff0c; 有单标签多类别文本分类和多…...

Linux 下 DMA 内存映射浅析

序 系统 I/O 设备驱动程序通常调用其特定子系统的接口为 DMA 分配内存&#xff0c;但最终会调到 DMA 子系统的dma_alloc_coherent()/dma_alloc_attrs() 等接口。 关于 dma_alloc_coherent 接口详细的代码讲解、调用流程&#xff0c;可以参考这篇文章&#xff0c;我觉得写的非常…...

Canal环境搭建并实现和ES数据同步

作者&#xff1a;田超凡 日期&#xff1a;2025年6月7日 Canal安装&#xff0c;启动端口11111、8082&#xff1a; 安装canal-deployer服务端&#xff1a; https://github.com/alibaba/canal/releases/1.1.7/canal.deployer-1.1.7.tar.gz cd /opt/homebrew/etc mkdir canal…...

LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考

目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候&#xff0c;显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...