【学习笔记】 - 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连接上进行全双工通信的协议,它允许…...
零基础玩转AI上色:cv_unet_image-colorization保姆级部署教程
零基础玩转AI上色:cv_unet_image-colorization保姆级部署教程 1. 工具简介与核心价值 黑白照片上色技术让历史影像重获新生,而cv_unet_image-colorization正是这样一款开箱即用的AI工具。基于ModelScope的UNet架构模型,它能够智能分析黑白照…...
Tao-8k在智能硬件原型开发中的应用:从固件开发到语音交互
Tao-8k在智能硬件原型开发中的应用:从固件开发到语音交互 最近在捣鼓一个智能音箱的原型,从画电路板到写代码,折腾了好一阵子。整个过程里,最让我头疼的不是硬件本身,而是怎么让这个“铁疙瘩”听懂人话,还…...
立创泰山派RK3566开发板串口调试:从1500000到115200的保姆级修改指南
立创泰山派RK3566开发板串口调试:从1500000到115200的保姆级修改指南 刚拿到立创泰山派RK3566开发板时,很多开发者都会遇到一个令人头疼的问题——默认的串口波特率高达1500000bps,而市面上大多数串口调试工具根本不支持这个速率。这就像拿到…...
Redis如何断开主从同步关系_使用REPLICAOF NO ONE命令将从节点提升为独立主节点
执行REPLICAOF NO ONE后从节点未真正独立,因状态切换有延迟、需确认同步完成、配置文件残留、版本兼容性(4.x用SLAVEOF)、集群模式不支持、提升后写入风险及原主无感知。执行 REPLICAOF NO ONE 后从节点没真正“独立”?命令本身没…...
OpenAI Codex 详解:2026 年 AI 编程智能体工具全面对比与选型指南
Codex 是 OpenAI 在 2025 年推出的新一代 AI 编程智能体(Software Engineering Agent / AI Coding Agent),不是 2021 年那个老的 Codex 代码生成模型。 简单说,它的目标是当你的“AI 软件工程师”:你给它一个任务(比如“实现用户登录功能”或“修复这个 Bug 并提 PR”),…...
Onekey:Steam Depot清单自动化工具的技术革新与实践指南
Onekey:Steam Depot清单自动化工具的技术革新与实践指南 【免费下载链接】Onekey Onekey Steam Depot Manifest Downloader 项目地址: https://gitcode.com/gh_mirrors/one/Onekey 在游戏开发的世界里,如何高效获取和处理Steam Depot清单一直是开…...
网盘直链下载助手:免费开源的跨平台云存储加速工具
网盘直链下载助手:免费开源的跨平台云存储加速工具 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘…...
微信聊天记录导出革新:WeChatExporter突破iOS数据备份限制全指南
微信聊天记录导出革新:WeChatExporter突破iOS数据备份限制全指南 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 在数字时代,微信聊天记录已成为个…...
Python爬虫入门:10步快速掌握网页数据抓取,【大数据实战】如何从0到1构建用户画像系统(案例+数据仓库+Airflow调度)。
准备工作 安装Python环境,确保版本在3.6以上。推荐使用Anaconda管理Python环境,避免版本冲突。安装必要的库,如requests、BeautifulSoup、lxml等。可以通过pip命令快速安装: pip install requests beautifulsoup4 lxml理解基本概念…...
Wan2.2-I2V-A14B高性能推理:C++后端服务开发与优化
Wan2.2-I2V-A14B高性能推理:C后端服务开发与优化 1. 为什么需要C高性能推理服务 在实时图像生成场景中,毫秒级的延迟差异可能直接影响用户体验和业务转化率。传统基于Python的Web框架(如Flask/FastAPI)虽然开发便捷,…...
