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

Git【成神路】

目录

1.为啥要学git啊?😕😕😕

2.版本控制软件的基本功能 🤞🤞🤞

3.集中式版本控制 🤶🤶🤶  

4.分布式版本控制😎😎😎

 5.Git的下载与安装 😭😭😭

6.GitHubDesktop使用 😁😁😁😁

7.多人协作分支与合并😎😎😎

8.idea集成gitee 😕😕😕

8.1安装插件

8.2选择gitee 并登录

9.版本号🤞🤞🤞

10.git指令 😳😳😳

10.1仓库操作

10.2文件操作

10.3分支操作

10.4标签操作

10.5远程仓库


1.为啥要学git啊?😕😕😕

Git 是目前最流行的版本控制工具之一,它可以帮助开发团队更好地管理代码、协作开发、记录版本变化、合并代码等等。学习 Git 可以使你更好地参与到开源项目中,也可以提高团队协作的效率,更好地管理自己的代码库。

 

Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件,Git 仓库分为两种:

  • 本地仓库:开发人员自己电脑上的Git仓库
  • 远程仓库:远程服务器上的 Git 仓库 
  • commit:提交,将本地文件和版本信息保存到本地仓库
  • push:推送,将本地仓库文件和版本信息上传到远程仓库
  • pull:拉取,将远程仓库文件和版本信息下载到本地仓库 

2.版本控制软件的基本功能 🤞🤞🤞

  • 1.保存和管理文件
  • 2.提供客户端工具进行访问
  • 3.提供不同版本文件的比对功能

3.集中式版本控制 🤶🤶🤶  

  • 集中式版本控制,多人协作可能导致文件覆盖问题----文件冲突 
  • Visual SourceSafe美国微软公司出品的版本控制系统,简称VSS 集中式版本控制系统
  • 上锁解决~但效率较低

 

  •  Concurrent Versions System老牌的版本控制系统,它是基于客户端/服务器的行为使得其可容纳多用户,构成网络也很方便,简称为CVS 
  • Subversion开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理

规定约束,进行比对,记录下每次操作 ~如果对同一行操作依然冲突

4.分布式版本控制😎😎😎

分布式版本控制(Distributed Version Control,简称DVCS)是一种管理代码版本的方式,它与集中式版本控制(Centralized Version Control,简称CVCS)相比,分布式版本控制是在每个开发者本地都拥有完整的代码仓库(repository),而不是像集中式版本控制那样所有开发者都使用中央服务器上的代码仓库。

特点:

  1. 每个开发者都有一个完整的代码仓库,包含所有历史版本的代码库,不依赖于中央服务器,可在离线状态下进行开发。

  2. 开发者可以在本地进行代码的修改、提交、合并等操作,不需要等待中央服务器的响应。

  3. DVCS 支持分支(branch)管理,可以轻松地创建、合并分支,便于团队协作和业务流程控制。

  4. DVCS 提供了更完善的代码审核(code review)机制,开发者可以创建自己的分支,进行代码修改,在满足要求后提交到主干分支。

 5.Git的下载与安装 😭😭😭

下载地址:Git - Downloads (git-scm.com)

当时打不开,小张又找的安装包😭😭😭😭😭😭😭

6.GitHubDesktop使用 😁😁😁😁

  • 在仓库路径创建文件,会与.git进行比较,看是否存在 ~

  • 如果删除仓库路径中的文件,但是.git中没有被删除,也需要提交~

7.多人协作分支与合并😎😎😎

8.idea集成gitee 😕😕😕

8.1安装插件

8.2选择gitee 并登录

9.版本号🤞🤞🤞

Git版本号是由40个十六进制字符组成的字符串,通常被称为“SHA-1哈希值”。它是由Git版本控制系统为每个提交生成的唯一标识符,用于跟踪代码的历史和变化。

  • 1.避免合并时版本冲突
  • 2.定位仓库中文件的位置(前两位文件夹名,后面的是文件名)

在git自带的控制台可以查询文件信息

分支

git的三个区域

10.git指令 😳😳😳

10.1仓库操作

  • (先进入创建的文件夹) 通过命令,把这个目录变成git可以管理的仓库
git init 
  • 通过命令克隆远程仓库到本地 并重命名
git clone +远程仓库地址 新的文件名
  •  全局配置操作者信息
 git config --globle user.name xiaozhanggit config --globle user.email 31@qq.com

10.2文件操作

  • 查看暂存区的状态
git status

当添加文件工作区后,再次查询,会提示 Untracked files

  • 将文件添加到暂存区
git add b.txt

  • 将文件移缓存区移除到工作区 
git rm --cached 文件名
  • 将缓存区的文件添加到.git存储区域 
git commit -m 信息
  • 查看历史记录
git log   查看所有
git log --oneline 简化查询
  • 如果工作区的文件误删除了,可以把.git存储区的文件恢复
git restore 文件名
  • 如果工作区的文件误删了,又提交到了.git存储区,使用版本重置
  • 这种操作会导致误删除的操作丢失
git reset  --hard 上一个版本的序号id
  • 既可以恢复文件,也可以恢复误删除的操作
git revert 删除操作的序列号id

10.3分支操作

  • 先提交,才能创建分支
git branch 分支名称
  • 查看有多少个分支
git branch -v
  • 切换分支
git checkout 要切换的分支名称
  • 创建分支,并切换到该分支
git checkout -b 要创建并切换的分支名称
  • 删除分支
git branch -d 要删除的分支名称
  • 合并文件
master merge 要合并的分支名称

注意:合并后会出现文件冲突,需要手动解决,然后再次提交

10.4标签操作

  • 查看标签
git tag
  • 新增标签
git tag 标签名  要添加标签的序号id
  • 删除标签
git tag -d 标签名

10.5远程仓库

  • 上传到远程仓库
git push origin

这里的url使用的gitee中的SSH

当 push 到远程仓库时,会下面报错:

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'gitee.com' (ED25519) to the list of known hosts.
git@gitee.com: Permission denied (publickey).
fatal: Could not read from remote repository.

 因为我们使用的是SSH,这种方式需要提供安全认证

  • 生成安全认证书 
ssh-keygen -t rsa -C SSH地址
  • 接着一直回车下去,然后在你的:C盘-用户-.ssh中有个id_rsa.pub,拷贝里面的所有然后到你的gittee

         再次 push 就会推送到远程仓库

  • 从远程拉取文件
git pull origin

相关文章:

Git【成神路】

目录 1.为啥要学git啊?😕😕😕 2.版本控制软件的基本功能 🤞🤞🤞 3.集中式版本控制 🤶🤶🤶 4.分布式版本控制😎😎😎 …...

文件操作详解

文件操作详解 一:文件相关概念1:问什么使用文件2:什么是文件???2.1:程序文件2.2数据文件 二:文件的打开和关闭1:流的定义2:标准流3:文件指针 一&a…...

模块 A:web理论测试

模块 A:理论测试 任务一:单选题 1.为 EMP 表的 namesalary 字段创建名为 emp name salary idx 的校复习接课 name 字段升序, salary 字段降序的复合索引的 SQL 语句是? B A: CREATEINDEX emp name salary idx ON EMP(namesalary) B: …...

git rebase冲突说明(base\remote\local概念说明)

主线日志及修改 $ git log master -p commit 31213fad6150b9899c7e6b27b245aaa69d2fdcff (master) Author: Date: Tue Nov 28 10:19:53 2023 08004diff --git a/123.txt b/123.txt index 294d779..a712711 100644 --- a/123.txtb/123.txt-1,3 1,4 123 4^Mcommit a77b518156…...

函数式接口的妙用,让异步执行更简单

你是否曾经遇到过在SpringBoot中Async注解无法正常工作的问题?今天,我们用函数式接口来解决这个问题。 一、什么是函数式接口? 函数式接口(Functional Interface)是 Java 8 中引入的一个概念,是指只包含一…...

读书笔记:《More Effective C++》

More Effective C Basics reference & pointer reference 必定有值,pointer 可以为空reference 声明时必须定义,必须初始化reference 无需测试有效性,pointer 必须测试是否为 nullreference 可以更改指向对象的值,但是无法…...

手写VUE后台管理系统6 - 支持TS声明文件.d.ts

TS 使用声明文件进行类型定义。 配置 在 tsconfig.json 文件中,找到 include 属性,添加 "src/**/*.d.ts",表示 src 目录下的所有 .d.ts 文件都会被自动加载。 添加后内容如下 "include": ["src/**/*.ts",&…...

第八天:信息打点-系统端口CDN负载均衡防火墙

信息打点-系统篇&端口扫描&CDN服务&负载均衡&WAF防火墙 一、知识点 1、获取网络信息-服务器厂商: 阿里云,腾讯云,机房内部等。 网络架构: 内外网环境。 2、获取服务信息-应用协议-内网资产: FTP…...

一款充电桩解决方案设计

一、基本的概述 项目由IP6536提供两路5V 1.5A 的USB充电口,IP6505提供一路最大24W的USB快充口支持QC3.0 / DCP / QC2.0 / MTK PE1.1 / PE2.0 / FCP / SCP / AFC / SFCP的快充协议,电池充电由type-C输入经过IP2326输出最高15W快充对电池进行充电&#xf…...

Leetcode 2953. Count Complete Substrings

Leetcode 2953. Count Complete Substrings 1. 解题思路2. 代码实现 题目链接:2953. Count Complete Substrings 1. 解题思路 这一题麻烦的点就在于说有两个限制条件,但是好的点在于说这两个限制条件事实上是相互独立的。 因此,我们可以通…...

【Python-第三方库-pywin32】随笔- Python通过`pywin32`获取窗口的属性

Python通过pywin32获取窗口的属性 基础 获取所有窗口的句柄 【代码】 import win32guidef get_all_windows():hWnd_list []win32gui.EnumWindows(lambda hWnd, param: param.append(hWnd), hWnd_list)print(hWnd_list)return hWnd_list【结果】 获取窗口的子窗口句柄 【代…...

Flask使用线程异步执行耗时任务

1 问题说明 1.1 任务简述 在开发Flask应用中一定会遇到执行耗时任务,但是Flask是轻量级的同步框架,即在单个请求时服务会阻被塞,直到任务完成(注意:当前请求被阻塞不会影响到其他请求)。 解决异步问题有…...

zabbix监控nginx

zabbix是什么 web界面提供的一种可视化的监控服务软件 以分布式的方式系统监控以及网络监控,硬件监控等等开源的软件 zabbix的架构 1、c/s模式 客户端和服务端,zabbix server服务端 zabbix agent 客户端 2、通过B/S B是浏览器 S服务端,通…...

【CVE-2023-49103】ownCloud graphapi信息泄露漏洞(2023年11月发布)

漏洞简介 ownCloud owncloud/graphapi 0.2.x在0.2.1之前和0.3.x在0.3.1之前存在漏洞。graphapi应用程序依赖于提供URL的第三方GetPhpInfo.php库。当访问此URL时,会显示PHP环境的配置详细信息(phpinfo)。此信息包括Web服务器的所有环境变量&a…...

可视化数据库管理客户端:Adminer

简介:Adminer(前身为phpMinAdmin)是一个用PHP编写的功能齐全的数据库管理工具。与phpMyAdmin相反,它由一个可以部署到目标服务器的文件组成。Adminer可用于MySQL、PostgreSQL、SQLite、MS SQL、Oracle、Firebird、SimpleDB、Elast…...

Python----字典练习

相关链接:Python---字典的增、删、改、查操作_python中字典的增删改查-CSDN博客 Python---字典---dict-CSDN博客 Python---引用变量与可变、非可变类型-CSDN博客 重点: 字典中的 key (就是键)可以是很多数据类型(…...

CentOS 部署 WBO 在线协作白板

1)WBO 白板工具介绍 1.1)WBO 白板简介 WBO 是一个自由和开源的在线协作白板。它允许多个用户同时在一个虚拟的大型白板上画图。该白板对所有线上用户实时更新,并且状态始终保持。它可以用于许多不同的目的,包括艺术、娱乐、设计和…...

qt-C++笔记之QStringList

qt-C笔记之QStringList —— 杭州 2023-12-03 文章目录 qt-C笔记之QStringList1.1.《Qt官方文档》第一部分翻译&#xff1a;继承自QList\<QString\>-初始化-添加字符串1.2.迭代字符串1.3.join()和split()1.4.filter()1.5.lastIndexOf()1.6.indexOf()1.7.replaceInString…...

ply前端

ply 是 eBPF 的 front-end 前端工具之一&#xff0c;专为 embedded Linux systems 开发&#xff0c;采用 C 语言编写&#xff0c;只需 libc 和内核支持 BPF 就可以运行&#xff0c;不需要外部 kernel 模块&#xff0c;不需要 LLVM&#xff0c;不需要 python。 ply 由瑞典工程师…...

U盘不仅能在电脑上使用,在手机上也可使用,包括安卓和苹果手机,但苹果的较特殊

许多最好的安卓手机都使用USB-C端口在电脑上充电和来回传输文件,但如果你需要给老板发电子邮件的文件放在闪存驱动器或全尺寸SD卡上呢? 幸运的是,使用廉价的适配器电缆,你可以将USB加密狗或读卡器直接连接到手机上。你甚至可以直接使用USB-C闪存驱动器,以实现更轻松的过程…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 题目描述解题思路Java代码 题目描述 题目链接&#xff1a;LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器

一、原理介绍 传统滑模观测器采用如下结构&#xff1a; 传统SMO中LPF会带来相位延迟和幅值衰减&#xff0c;并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF)&#xff0c;可以去除高次谐波&#xff0c;并且不用相位补偿就可以获得一个误差较小的转子位…...

API网关Kong的鉴权与限流:高并发场景下的核心实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中&#xff0c;API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关&#xff0c;Kong凭借其插件化架构…...