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

前端-Git

一.基本概念

Git版本控制系统时一个分布式系统,是用来保存工程源代码历史状态的命令行工具

简单来说Git的作用就是版本管理工具

Git的应用场景:多人开发管理代码;异地开发,版本管理,版本回滚。

Git 的三个区域

  • 工作区:处理工作的区域
  • 暂存区:临时存放的区域
  • 本地git仓库:最终的存放区域

在文件夹的体现如下:

  • 工作区:在你电脑里看到的目录
  • 暂存区:在.git文件夹内的index中 (二进制记录)
  • 版本库:指的整个.git文件夹 (也认为是本地仓库)

工作区就是电脑里的本地文件,工作区有一个隐藏目录.git,不算工作区,而是Git的版本库。往版本库里添加文件的两步操作,第一步用git add把文件添加进去,实际上就是把文件修改添加到暂存区,第二步用git commit提交更改,实际上就是把暂存区的所有内容提交到版本库

二.基本使用

(码云gitee示例)

1.新建仓库:

2.打开git bash配置git全局变量

在用户文件下可以查看配置信息:

又或者运行:

git config --list

3.初始化:

新建一个空文件夹后git bash 

git init

开启显示隐藏文件即可看到.git文件 

4.查看状态

git status

5.将文件添加/删除到暂存区

git add .  // .的意思是添加所有文件至暂存区。

 

 

再次查看状态:

如果想从缓存区删除:

git rm --cached  文件名 #将文件从暂存区删除(此时还没有记录历史版本,只有commit时才会有历史版本) 

6.提交到本地库

git commit -m 

git commit -m "remove 文件"//从本地库删除

 

7.查看差异

git diff //工作区和暂存区差别

git diff -cache //暂存区和版本库区别

7.查看日志信息

git reflog #查看历史版本

git log #可以查看更详细的提交日志

8.修改文件内容 

显示文件被修改:

再次添加到暂存区和版本区:

提交文件后,提示一个文件被修改,一行新增,一行删除,是因为git中通过行来维护文件,修改一行,它无法表示,它是把修改之前的那一行删掉,再把修改之后的一行的内容新增进来。

查看日志:

9.版本回溯

git reset --hard  历史版本号"

 

已经回溯:

上述总结:

10.分支管理

Git分支是在Git版本控制系统中用于并行开发和管理不同功能或版本的代码的重要概念。分支可以让开发者在不影响主线代码的情况下,独立地进行开发、测试和修改。在Git中,主要的分支是master(或main)分支,它包含了项目的主要代码。除了主分支外,开发者可以创建其他分支,比如feature分支用于开发新功能,bugfix分支用于修复bug,release分支用于发布版本等。

分支的优势在于它能够提供一种安全的方式来进行并行开发,避免了直接在主分支上进行修改可能带来的风险。同时,分支也可以帮助团队协作,每个成员可以在自己的分支上进行开发,最后合并到主分支上。

在Git中,创建、切换、合并、删除分支都是非常简单的操作,开发者可以根据需要随时创建新的分支,并在不同分支之间切换,以便进行不同的工作。因此,合理地使用分支可以帮助开发团队更高效地进行代码管理和开发工作。

①查看分支

git branch -v //查看当前存在的的分支

②创建分支

git branch  分支名

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

第一次创建并切换到 分支,你会发现 master 分支上的所有代码 (和当前节点所有提交记录) 都被复制了过来 了,我们只需要在这个基础上接着往后开发就行

③切换分支:

git checkout 分支名

git checkout -b分支名 //创建并切换到分支

 

在分支上修改内容:

④合并分支

正常情况下执行:

git merge 目标分支名

执行合并:

但是如果 在两个分支修改了同一个文件并提交过,在合并的时候,就会产生冲突

合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个。必须人为决定新代码内容

切换回master分支合并,产生冲突:

打开vscode:

四选一点击修改,选择保留方式后,需要再次暂存提交一次:

我这里选择采用传入的更改:

查看结果:

11.团队协作

 简述:A和B是同一团队的成员,A将代码push至代码远程仓库,B可以将其clone下来然后修改,再push到远程仓库,A就可以pull下B修改的部分代码。

下面回到之前的码云(gitee)操作:

①链接到仓库

git remote add 别名 链接

②本地推入远程仓库 

git push 别名 分支

 如果出现报错:

出现这个错误提示是因为远程仓库包含了一些本地没有的更新内容,所以推送被拒绝了。

通常的解决办法如下:

方法一:先拉取再推送

按照提示所说,先执行 git pull 命令将远程仓库的更新拉取到本地,合并到当前分支后,再尝试执行 git push 操作。

git pull
git push git-test master

不过在执行 git pull 时,如果存在合并冲突,需要手动解决这些冲突。解决冲突后,再进行推送就可以了。

方法二:使用 --force 选项(谨慎使用)

如果你确定要覆盖远程仓库的当前状态(比如远程仓库的更新你并不在意,只想用本地的内容强行覆盖),可以使用 git push 的 --force 选项。

但要特别注意,这种方式会强制覆盖远程仓库的内容,可能会导致其他人在远程仓库上所做的工作丢失,所以除非你非常确定不会影响到其他人或者整个项目的正常进展,否则不要轻易使用。

 

③拉取远程库到本地

git pull 远程仓库的别名或链接 分支名

git pull 是 git fetch 和 git merge 的组合,但你也可以分开执行这两个命令以获得更多控制。首先运行 git fetch 来获取远程更改但不合并它们,然后你可以使用 git merge 或其他Git命令(如 git rebase)来合并这些更改

④克隆远程仓库到本地

本地新建一个文件夹

git clone 远程仓库的别名或链接 

⑤清空远程仓库但不删除 

git rm -rf * //先将工作区所有文件删除

git commit -m 'Empty the repository' //然后提交

git push

Git命令操纵总结 

git init //初始化本地库 并且生成一个.git文件

git status //查看本地库状态

git add . //将所有文件添加到暂存区

git commit -m 文件名 //提交暂存区的文件到版本库

git reflog//查看历史记录

git reset --hard 版本号 //版本控制

git branch -v //查看当前存在的分支

git branch 分支名 //创建分支

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

git checkout 分支名 //切换分支

git checkout -b分支名 //创建并切换到分支

git merge 目标分支名 //合并分支

参考文章:https://juejin.cn/post/7325132211312492570

相关文章:

前端-Git

一.基本概念 Git版本控制系统时一个分布式系统,是用来保存工程源代码历史状态的命令行工具 简单来说Git的作用就是版本管理工具。 Git的应用场景:多人开发管理代码;异地开发,版本管理,版本回滚。 Git 的三个区域&a…...

如何分析Windows防火墙日志

Windows防火墙,也被称为Windows Defender Firewall,是一种内置的安全功能,可以主动监控和分析运行Windows操作系统的计算机上通过Windows防火墙的网络流量,主要目的是作为计算机和互联网或其他网络之间的屏障,使管理员…...

工作坊报名|使用 TEN 与 Azure,探索你的多模态交互新场景

GPT-4o Realtime API 发布,语音 AI 技术正在进入一场新的爆发。语音AI技术的实时语音和视觉互动能力将为我们带来更多全新创意和应用场景。 实时音频交互: 允许应用程序实时接收并响应语音和文本输入。自然语音生成: 减少 AI 技术生成的语音…...

学习笔记041——Elastic Search的学习与使用以及SpringBoot整合

文章目录 1、Elastic Search介绍1.1、ES 的数据结构1.2、ES 为什么查询快1.3、CRUD 2、Spring Boot 整合 ES 1、Elastic Search介绍 ‌Elasticsearch‌是一个分布式的、基于RESTful API的搜索和分析引擎,广泛用于大规模数据存储和快速检索。它最初由Shay Banon于20…...

R安装rgdal报错 解决办法

尝试了网上很多办法,不知道哪一步解决了,记录一下所有步骤: 1. 尝试github安装 options(repos c(CRAN "https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))install.packages("devtools")library(devtools)devtools::in…...

【智能制造-46】人机工程(工厂自动化)

工作空间设计 设备布局规划 根据人体测量学数据,合理安排自动化设备、生产线和工作区域的布局。例如,考虑工人的操作空间和活动范围,确保他们能够舒适地接近和操作设备。在汽车装配车间,机器人和工人的工作区域应划分明确&#…...

C#笔记(5)

一、winform项目与窗体控件 1、部分类的使用 好处:让自动生成的代码后置,我们编写程序的代码显得更加简洁 特点:在最后编译的时候,仍然编译成一个窗体类。 窗体和控件的基本使用 3、Event事件(委托--》事件&#…...

【软件国产化】| Windows和Linux下文件名后缀是否区分大小写

今天在开发过程中遇到了个软件在Linux系统和Windows系统下功能表现不一致的bug,具体表现为: 插入一张图片(A文件夹中的001.jpg),然后使用“图片替换”功能,用B文件夹中的图片(B文件夹中的001.JP…...

讨论JAVA、JVM与Spring

Q1: 作为一个JAVA开发人员,对于jvm肯定不陌生,但很多人对它不陌生也仅止于概念上,而且对概念也是模糊不清的,但jvm实际是java程序运行在其中的实际存在的环境,对它的理解应该要是具象化的。 我们还是从一项技术产生的…...

【04】MySQL数据库和数据表的基本操作详解与实例

文章目录 一、连接MySQL服务器二、数据库的基本操作2.1数据库的基本操作1. 创建数据库2. 选择数据库3. 删除数据库4.查询所有数据库5.修改数据库的字符集 2.2 数据表的基本操作1. 创建数据表2. 查看数据表结构3. 删除数据表4. 修改数据表5. 插入数据6. 查询数据7. 更新数据8. 删…...

Spring中实现动态数据源切换,基于AbstractRoutingDataSource

背景 在项目开发过程中,我们可能会遇到一个场景:某个类型数据源有多个数据源实例,需要我们按照不同的请求切换到不同数据源去。 而目前绝大多数java应用都是基于Spring框架来开发,我们很多时候相关的数据源连接都是交给了Spring框…...

StarRocks-join优化

1、背景 有两个大表,都是6kw级别上下的,通过SR然后包装了一个接口对外提供查询,当前的问题是,这样大的join查询会导致BE直接宕机。并且这个sql很有代表性,我截图如下: 这个表是个单分区,所以直接…...

js 高亮文本中包含的关键词标红

在开发中&#xff0c;遇到需要将文本中包含的关键字高亮的情况&#xff0c;可以做以下处理。 <div class"title"v-html"highlightKeywords(item.title, state1.tags1.concat(state2.tags2).concat(state3.tags3))"> </div> ...... ...... con…...

DVWA靶场——File Inclusion

File Inclusion&#xff08;文件包含&#xff09;漏洞 指攻击者通过恶意构造输入&#xff0c;利用应用程序错误的文件包含机制&#xff0c;导致程序包含并执行未经授权的本地或远程文件。这类漏洞广泛存在于Web应用程序中&#xff0c;尤其是在那些允许用户提供文件路径或URL的地…...

Android Framework禁止弹出当前VOLTE不可用的提示窗口

文章目录 VoLTE简介VoLTE 的优势 当前VOLTE不可用的弹窗弹窗代码定位屏蔽弹出窗口 VoLTE简介 VoLTE&#xff08;Voice over LTE&#xff09;是一种基于4G LTE网络的语音通话技术。它允许用户在4G网络上进行高质量的语音通话和视频通话&#xff0c;而不需要回落到2G或3G网络。V…...

OceanBase 大数据量导入(obloader)

现需要将源数据库&#xff08;Oracle|MySQL等&#xff09;一些表的海量数据迁移到目标数据库 OceanBase 中&#xff0c;基于常规 jdbc 驱动编码的方式涉及开发工作&#xff0c;性能效率也要看编码的处理机制。 OceanBase 官方提供了的 OceanBase Migration Service (OMS) 数据…...

w058基于web的美发门店管理系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0…...

实时数据开发 | checkpoints监控和调优

监控Checkpoints 监控 checkpoint 行为最简单的方法是通过 UI 的 checkpoint 部分。 监控这两个指标: 算子收到第一个 checkpoint barrier 的时间。当触发 checkpoint 的耗费时间一直很高时&#xff0c;这意味着 checkpoint barrier 需要很长时间才能从 source 到达 operator…...

el-tree的使用及控制全选、反选、获取选中

el-tree的使用及控制全选、反选、获取选中 组件使用获取选中的id全选实现反选实现全部代码 组件使用 引入组件&#xff0c;可以参考官网组件引入参考官网示例写好基础数据结构&#xff0c;不知道怎么转换树形机构的看文章&#xff1a;一维数组转树形 <template><el-…...

机器学习(二十五):决策树算法以及决策树和神经网络的对比

一、决策树集合 单一决策树会对训练数据的变化很敏感。例子&#xff1a;输入十个数据&#xff0c;判断是否是猫。只替换其中一个数据&#xff0c;信息增益最高的分裂特征就发生了改变&#xff0c;决策树就发生了变化。 使用决策树集合可以使算法更加健壮。例子&#xff1a;使用…...

新版布谷直播软件源码开发搭建功能更新明细

即将步入2025年也就是山东布谷科技专注直播系统开发,直播软件源码出售开发搭建等业务第9年,山东布谷科技不断更新直播软件功能&#xff0c;以适应当前新市场环境下的新要求。山东布谷科技始终秉承初心&#xff0c;做一款符合广大客户需求的直播系统软件。支持广大客户提交更多个…...

vue3 reactive响应式实现源码

Vue 3 的 reactive 是基于 JavaScript 的 Proxy 实现的&#xff0c;因此它通过代理机制来拦截对象的操作&#xff0c;从而实现响应式数据的追踪。下面是 Vue 3 的 reactive 源码简化版。 Vue 3 reactive 源码简化版 首先&#xff0c;我们需要了解 reactive 是如何工作的&…...

git的使用(简洁版)

什么是 Git&#xff1f; Git 是一个分布式版本控制系统 (DVCS)&#xff0c;用于跟踪文件的更改并协调多人之间的工作。它由 Linus Torvalds 在 2005 年创建&#xff0c;最初是为了管理 Linux 内核的开发。Git 的主要目标是提供高效、易用的版本控制工具&#xff0c;使得开发者…...

使用命令行创建 Maven 项目

本指南将引导您通过命令行创建一个简单的 Maven 项目。本教程假设您已经在您的机器上安装了 Maven 和 JDK 21。 第一步&#xff1a;验证 Maven 和 Java 安装 在开始之前&#xff0c;我们需要验证 Maven 和 Java 是否已正确安装在您的系统上。 验证 Maven 安装 打开命令行终…...

JVM_栈详解一

1、栈的存储单位 **栈中存储什么&#xff1f;**&#xff0c; 每个线程都有自己的栈&#xff0c;栈中的数据都是以栈帧&#xff08;Stack Frame&#xff09;的格式存在。在这个线程上正在执行的每个方法都各自对应一个栈帧&#xff08;Stack Frame&#xff09;。 栈帧是一个内存…...

Linux 金仓数据库安装和使用

文章目录 Linux 金仓数据库安装和简单使用 一、下载二、安装三、启动法1. 通用启动方式法2. 系统服务启动方式 四、测试五、DB管理工具1. 启动DB管理工具2. DB管理工具的常用功能 六、卸载 Linux 金仓数据库安装和简单使用 一、下载 打开官网 https://www.kingbase.com.cn/xzz…...

STM32笔记(串口IAP升级)

一、IAP简介 IAP&#xff08;In Application Programming&#xff09;即在应用编程&#xff0c; IAP 是用户自己的程序在运行过程中对 User Flash 的部分区域进行烧写&#xff0c;目的是为了在产品发布后可以方便地通过预留的通信口对产 品中的固件程序进行更新升级。 通常实…...

C++网络编程:select IO多路复用及TCP服务器开发

C网络编程&#xff1a;使用select实现IO多路复用 一、什么是 IO 多路复用&#xff1f;二、IO多路复用器 select三、相关接口3.1、fd_set 结构体3.2、宏和函数 四、select 实现 TCP 服务器五、总结 一、什么是 IO 多路复用&#xff1f; 在网络编程中&#xff0c;最容易想到的并…...

部署 L2JMobius 天堂2芙蕾雅版本

首先下载所需要的服务器端 “L2J_Mobius.zip” 和芙蕾雅客户端&#xff08;三个压缩文件&#xff09;&#xff0c; 我的网盘下载&#xff1a;https://pan.baidu.com/s/1XdlcCFPvXnzfwFoVK7Sn7Q?pwdavd4 所有文件都在“芙蕾雅”目录下&#xff0c;也可以加入企鹅交流裙 87470…...

C#开发合集

用C#轻松搞定m3u8视频下载与合并 嘿&#xff0c;程序员们&#xff01;今天咱们来聊聊如何用C#写个小程序&#xff0c;轻松下载和合并m3u8视频文件。没错&#xff0c;就是那种分段的流媒体视频。准备好了吗&#xff1f;让我们开始吧&#xff01; 准备工作 在动手之前&#xf…...

佛山专业的网站建设公司/百度竞价app

前言 Centos 7.9测试尚未发现bug 脚本 查找/home/jack/Desktop/test目录下中的所有文件&#xff0c;如果该文件包含simv字符串&#xff0c;则以绿色打印该文件名&#xff0c;并以默认颜色&#xff08;黑色&#xff09;打印包含simv的这一行内容 #!/usr/bin/env bash #SELFD…...

行业论坛网站/网站搜索引擎优化主要方法

最佳答案&#xff1a;黄岗寺村站附近有陶冶艺术中心,格林维纳艺术中心,威廉舞蹈旗舰校区,嘻哈帮街舞郑州亚星校区,菲丽西艺术,海伦钢琴多缤教学教研中心,思维童画艺考多缤教学教研中心,郑州银星影视艺术学校,尚乐吉他打击乐培训,嘉树美术教育,舞行元素,芬芳艺术学校兴华校区,智…...

网站备案可以国际域名/搜索引擎优化的主要内容

转自&#xff1a;https://www.cnblogs.com/songhaipeng/p/3323541.html 在J2EE框架下开发web网站&#xff0c;这种问题经常遇到&#xff0c;只要我们网上搜一下&#xff0c;就可以看到很多版本的&#xff0c;我整理一下&#xff1a; 第一种可能性解决&#xff1a;看看我的项目&…...

网站建设类电话销售/seo网络排名优化技巧

其实还是这个老问题&#xff1a; 记一次文件下载丢包填坑之旅 http://www.cnblogs.com/syjkfind/p/5281677.html 即使现在只有haproxy-nginx-磁盘文件 比较少的转发&#xff0c;但文件特别大&#xff0c;还是偶有文件不完整的问题。 从现象上看&#xff0c;浏览器响应是200没问…...

视觉设计网站/友链申请

[Error]集成第三方API时Other Linker Flags项添加-all_load引起的冲突 问题描述&#xff1a; 在XCode9.1新建一个项目&#xff0c;先集成了极光推送&#xff0c;再集成微信支付时出现的问题。 集成微信后运行时&#xff0c;报错&#xff08;如图&#xff09;&#xff1a; …...

国内网如何看国外网站/友情链接的作用

【考试简介】全国专业技术人员计算机应用能力考试是一种计算机能力考试。全国职称计算机考试可以提高计算机和网络的普及应用程度&#xff0c;加强信息资源的开发和利用”的精神&#xff0c;落实国家加快信息化建设的要求&#xff0c;引导全国专业技术人员学习掌握计算机知识&a…...