【学习笔记】 - GIT的基本操作,IDEA接入GIT以及上传hub
用github蛮多,但git没怎么用,看着视频对着写点笔记以及操作
一、GIT文件的三种状态和模式
已提交(committed) 已提交表示数据已经安全的保存在本地数据库中。
已修改(modified) 已修改表示修改了文件,但还没保存到数据库中。
已暂存(staged) 暂存表示对一个已修改文件的当前版本做了标记使之包含在下次提交的快照中。(相当于buffer)
所以会有三个工作区域
工作区 简单的理解为在电脑里能看到的目录,比如自己创建的本地项目目录
暂存区 Git的版本库里存了很多东西,其中最重要的就是称为stage (或者叫index) 的暂存区,还有Git自动建的第一个分支master, 以及指向master的一个指针叫HEAD。
git仓库区 工作区有一个隐藏目录git,这个不算工作区,而是Git的版本库。
二、创建版本库并提交文件
新建一个git文件,并初始化,这个即git工作区,.git即git仓库,隐藏目录

git add添加某个文件到缓冲区(暂存区)
git status查看属性

git commit -m 'git版本初始化以及文件提交操作' // /m后为提交的解释

git log 查看日志

三、时光穿梭机
1.提交文件与撤销文件
企业中在多人的项目开发环境下,使用Git版本控制工具对项目版本进行管理时,通常会对项目不同版本的文件进行查看,项目历史版本,未来版本的切换操作,对于一个项目开发人员,此时对于Git的这些基本命令操作就成为了一项基本技能。
1.提交到暂存区
修改git01.txt文件,可以查看属性 提示暂为被加到缓冲区

添加到缓冲区
.
commit提交


如果不添加到缓冲区直接commit,会无法添加成功。

差异比较说明
---表示变动前的文件
+++:表示变动后的文件
变动的位置用两个@作为起首和结束
@@-1,2 +1,3@@:减号表示第一个文件,"1"表示第1行,"2"表示连续2行。同样的,"+1,3"表示变动后,成为第二个文件从第1行开始的连续3行。

1.撤销暂存区文件
已经添加到暂存区的文件可以使用

git reset HEAD撤销

2.版本回退

简化操作,显示少页的log

^表示回退到上一个版本

^^表示回退到上两个版本

git reset --hard HEAD~1//num表示回退的多少个版本

如果想跳到前面的版本,使用
git reset --hard b4740

如果回退到前面的版本,但是已经看不到哈希字符串了

可以使用git reflog

3.文件删除
在GIt中,删除文件同样是一个修改操作, 即在Git世界中,Git仅仅关注文件是否被修改(文件添加,更新,删除)
在工作区添加新文件git02.txt并删除,如果是工作区的删除,但是已经上传到本地仓库了,所以可以误删恢复


git checkout -- git02.txt

注意如果本地仓库没有,那不能恢复的
如果想彻底删除使用
git rm git02.txt 会将工作区和仓库区的都删除

使用git ls-files 查看仓库文件,不是工作区的

四、远程仓库GITHUB(分布式版本控制)
Git是一个分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上,截止目前,并没有看到分布式的环境,因为以上的操作都在在本地发生的,对于Gt除了前面提到的本地版本库外,Git 支持远程仓库的托管服务即使用者可以将本地版本库中的文件托管到远程服务品进行存储,这样就极大的方便开发,无论你走到哪,只要你的机器能够联网,就可以通过远程的仓库地址得到一份相同的项目库文件,并且下载到本地的文件版本记录与远程文件版本保持一致,井且可以很方便的实现多人协同开发操作。
对于Git远程仓库GitHub: Let’s build from here · GitHub是比较知名的一一个,目前已被微软收购,而国内比较知名的当属码云官方了.当然除了这些远程仓库外,在公司,有的公司处于安全考虑,可能会自己搭建一套Git服务区来自Git的远程仓库,对于内部仓库会有专门人员来进行维护操作。
这里以当下比较流行的GiHub仓库来介绍Git远程仓库基本操作与使用。
1.克隆远程项目到本地
找到对应的仓库点击code,有一段git的下载

在目标目录下右键打开控制台 使用
git clone 网址


2.本地库推送到远程仓库
或者在命令行上创建一个新的存储库
echo "# gitTest" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/yinhai1114/gitTest.git
git push -u origin main
或者从命令行推送一个现有的存储库
git remote add origin https://github.com/yinhai1114/gitTest.git
git branch -M main
git push -u origin main
GitHub - yinhai1114/gitTest: 推送本地仓库到远程仓库
使用ssh推送
通过ssh-key将本地文件上传指定github仓库 - 知乎

五、本地分支操作
1.本地分支合并,重命名,删除
开发企业项目中在使用Git或者其他类似版本控制软件对项目版本进行管理时,多人合作的项目在开发时通常不会直接在主master上进行操作,而是重新开辟新的分支,在新的分支上进行开发调试等操作,当项目调试通过时才会将分支项目的代码合并到主干中,这是在实战中比较好的一种策略,特别是多人协同开发一个项目的情况下尤其明显。
Git 对于分支操作提供了一下基本命令


拉取分支 git check -b left01

对分支进行操作不会影响主干main
合并分支时如果两个分支都被修改,那么会需要人为接入进行合并参考下列
git merge合并分支代码# Please enter a commit message to explain why this merge is necessar У git退出编辑信息_少吃一口都不行的博客-CSDN博客
2.分支的push与pull操作

3.冲突内容
分为本地冲突和多人协同冲突,本地冲突需要改变不相同的内容,保留某个或者合并
多人冲突 解决方法需要每次先pull拉取代码,然后查看不相同的内容进行修改,然后在push
六、标签管理

七、IDEA下git的基本操作
setting内搜索git,添加文件路径,点击test测试git是否已经找到,出现版本号即成功

github添加远程仓库

获取仓库 使用在新页面checkout for version或者在已有的项目内new -- new project form version control
相关文章:
【学习笔记】 - GIT的基本操作,IDEA接入GIT以及上传hub
用github蛮多,但git没怎么用,看着视频对着写点笔记以及操作 一、GIT文件的三种状态和模式 已提交(committed) 已提交表示数据已经安全的保存在本地数据库中。 已修改(modified) 已修改表示修改了文件,但还没保存到数据库中。…...
Antd React Form.Item内部是自定义组件怎么自定义返回值
在线演示https://stackblitz.com/edit/stackblitz-starters-xwtwyz?filesrc%2FSelfTreeSelect.tsx 需求 当我们点击提交,需要返回用户名和选中树的id信息,但是,我不关要返回树的id信息,还需要返回选中树的名称 //默认返回的 {userName:梦洁,treeInfo:leaf1-value } //但是需…...
2023最新ACL大模型论文分类汇总(有代码的)
1 大模型文化道德 Knowledge of cultural moral norms in large language models url:https://aclanthology.org/2023.acl-long.26/code:https://github.com/AidaRamezani/cultural_inference 2 长文本推理 Open-ended Long Text Generation via Mask…...
Java版 招投标系统简介 招投标系统源码 java招投标系统 招投标系统功能设计
功能描述 1、门户管理:所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含:招标公告、非招标公告、系统通知、政策法规。 2、立项管理:企业用户可对需要采购的项目进行立项申请,并提交审批,查看所…...
Ubuntu 22.04源码安装cmake 3.27.7
安装参考博客是《ubuntu安装cmake》和《Ubuntu 安装CMake》。 https://cmake.org/download是cmake官网下载的网址。 sudo wget -c https://github.com/Kitware/CMake/releases/download/v3.27.7/cmake-3.27.7.tar.gz可以下载源码,最后显示‘cmake-3.27.7.tar.gz’…...
无人地磅称重系统|自助过磅 料仓联动 自助卸料
上海思伟无人地磅系统 自助过磅、 自助卸料 、料仓联动 智能、省人、安全 无人监管过磅 对地磅及其相关的所有硬件进行配置和管理; 支持红外、道闸、车牌识别、AI分析、拍照存档、LED语音播报一体机等设备; 实现稳定可靠的无人监管称重功能…...
冥想第九百七十三天
1.今天周六,很冷的天,上午上了一上午的日语课。 2.下午去看了朋友刚出生的孩子。 3.充实的一天。感谢父母,感谢朋友,感谢家人,感谢不断进步的自己....
ROS 学习应用篇(三)话题Topic学习之自定义话题消息的类型的定义与调用
自定义消息类型的定义 Person.msg文件的定义(数据接口文件的定义) 创建msg文件 首先在功能包下新建msg文件夹,接着在该文件夹下创建文件。 定义msg文件内容 一个消息最重要的就是数据结构类型。这就需要引入一个msg文件,用于…...
财税服务展示预约小程序的作用是什么
财税财政往往困扰着很多公司,尤其是公司里没有相应职员或工作压力大的情况下,不少商家就会寻找代理记账、审计服务、会计代理等服务的机构。 对财政服务代理机构(会计公司)来说,市场企业多而广,理论上来说…...
RT-Thread提供的网络世界入口 -net组件
作为一款在RTOS领域对网络支持很丰富的RT-Thread,对设备联网功能的支持的工具就是net组件。 位于/rt-thread/components/net路劲下,作为一款基础组件,env与Studio的工程配置项界面的配置项都依赖该目录下的Kconfig。 我们对网络功能的选择&am…...
分享一些有趣的MATLAB提示音(代码可直接复制)
先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年…...
软件测试|selenium执行js脚本
JavaScript是运行在客户端(浏览器)和服务器端的脚本语言,允许将静态网页转换为交互式网页。可以通过 Python Selenium WebDriver 执行 JavaScript 语句,在Web页面中进行js交互。那么js能做的事,Selenium应该大部分也能…...
【源码复现】图神经网络之PPNP/APPNH
目录 1、论文简介2、论文核心介绍2.1、现有方法局限2.2、PageRank&Personalized PageRank2.3、PPNP&APPNP 3、源码复现3.1、模型总体框架3.2、PPNP3.3、APPNP3.4、MLP(两层) 1、论文简介 论文题目——《PREDICT THEN PROPAGATE: GRAPH NEURAL NETWORKS MEET PERSONALI…...
【算法与数据结构】131、LeetCode分割回文串
文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:本题仍然使用回溯算法的一般结构。加入了一个判断是否是回文串的函数,利用起始和终止索引进…...
网络编程学习笔记
参考: 套接字通信部分 《TCP/IP 网络编程》以及《TCP/IP网络编程》学习笔记 socket 编程 1. 字节序 字节序,顾名思义字节的顺序,就是大于一个字节类型的数据在内存中的存放顺序,也就是说对于单字符来说是没有字节序问题的&…...
腾讯待办停运后怎么办呢?导出的ics文件怎么打开查看
待办类工具在日常工作中的应用是比较广泛的,很多人会选择使用待办软件记录备忘事项,其中一些提醒类的工具是比较广泛使用的。腾讯待办属于一款待办事项和日程管理工具,它通常是以微信小程序的形式,为大家提供时间管理规划…...
家长群如何发成绩?
老师们是否经常被家长们追问:“老师,我孩子的成绩出来了吗?”、“老师,我孩子考了多少分?”等等。要想解决这个问题,看完这篇文章你就可以让家长们能够自助查询孩子的成绩了。 一、什么是成绩查询系统&…...
数组区域检索的优化 --- 分块,线段树,树状数组
思考 首先让我们来思考一个问题,给定一个数组,和left与right的值,让你求这个数组中left到right之间元素的和,你会怎么计算?最简单的当然是遍历。如果有人问你这个问题的时候,他决对是会让你优化的ÿ…...
若依侧边栏添加计数标记效果
2023.11.13今天我学习了如何对若依的侧边栏添加技术标记的效果,如图: 我们需要用到两个页面: 先说子组件实现计数标记效果 1.item.vue <script> export default {name: MenuItem,functional: true,props: {icon: {type: String,defau…...
WebSocket技术解析:实现Web实时双向通信的利器
当今互联网的发展中,实时性成为了越来越重要的需求,特别是在Web应用程序中。传统的HTTP协议在处理实时性方面存在一些局限性,因此WebSocket技术的出现填补了这一空白。WebSocket是一种在单个TCP连接上进行全双工通信的协议,它允许…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
