【JAVA】Git 的基本概念和使用方式
Git是一个开源的分布式版本控制系统,由Linus Torvalds创建,用于有效、高速地处理从小到大的项目版本管理。以下是Git的一些基本概念和使用方式的深入探讨:
基本概念
1. 仓库(Repository)
- 仓库是Git用来保存你的项目文件和版本历史的地点。
2. 工作区(Working Directory)
- 工作区是仓库中检查出来的当前版本的一个拷贝,你可以在这个目录下修改文件。
3. 暂存区(Staging Area)
- 暂存区是一个准备下一次提交的改动的文件列表,通常是一个保存在Git仓库目录中的简单数据库。
4. 提交(Commit)
- 提交是你将暂存区的改动写入项目历史中的操作。
5. 分支(Branch)
- 分支是Git中一个非常强大的功能,它允许你从开发主线上分出一个并行的线路,你可以在这个分支上进行开发,而不会影响主线上的代码。
6. 合并(Merge)
- 合并是将一个分支的改动历史整合到另一个分支上。
7. 回滚(Revert)
- 回滚是撤销某次提交所做的改动。
8. 远程仓库(Remote Repository)
- 远程仓库是托管在网络服务器上的仓库,可以多人协作开发。
使用方式
初始化仓库
git init
添加文件到暂存区
git add <file>
提交改动到仓库
git commit -m "commit message"
查看当前分支
git branch
创建并切换到新分支
git checkout -b <branch-name>
切换到已有分支
git checkout <branch-name>
合并分支
git merge <branch-name>
查看当前状态
git status
查看提交历史
git log
回滚到某次提交
git revert <commit-hash>
克隆远程仓库
git clone <repository-url>
添加远程仓库
git remote add <remote-name> <repository-url>
推送到远程仓库
git push <remote-name> <branch-name>
从远程仓库拉取
git pull <remote-name> <branch-name>
解决冲突
当Git无法自动合并改动时,你需要手动解决冲突。Git会标记出有冲突的文件,你编辑这些文件,解决冲突后,使用git add将它们标记为解决冲突,然后进行git commit。
高级使用
1. 分支策略
- GitFlow:一种严格的分支管理策略,适用于大型复杂项目。
- GitHub Flow:适用于更频繁发布和较小特性开发的项目。
2. 交互式暂存
- 使用
git add -i或git add --interactive进行交互式暂存。
3. 变基(Rebase)
- 使用
git rebase将当前分支上的改动应用到另一分支上,使得项目历史更加线性。
4. 标签(Tag)
- 使用
git tag来标记重要的提交,如版本发布点。
5. 子模块(Submodule)
- 使用子模块可以包含其他Git仓库作为项目的一部分。
6. 钩子(Hooks)
- Git提供了多种钩子,可以在特定的Git操作发生时自动执行脚本。
7. 配置别名
- 使用
git config配置别名,简化常用命令。
相关文章:
【JAVA】Git 的基本概念和使用方式
Git是一个开源的分布式版本控制系统,由Linus Torvalds创建,用于有效、高速地处理从小到大的项目版本管理。以下是Git的一些基本概念和使用方式的深入探讨: 基本概念 1. 仓库(Repository) 仓库是Git用来保存你的项目…...
C++多态实现原理详解
阅读引言: 我想象了一下, 假如人有突然问我什么是多态, 我该如何给别人说清楚呢?所以写下这篇文章, 希望大家看完有所收获。 ①. 开胃小菜 先看这样一个开胃小菜 这里我有点小小的疑惑, 大小为啥是1。 在C…...
[数据集][目标检测]交通灯检测数据集VOC+YOLO格式2600张1类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2600 标注数量(xml文件个数):2600 标注数量(txt文件个数):2600 标注…...
关于测试用例
目录 一 测试用例介绍 二 写用例的好处 三 不适合写用例的情况 一 测试用例介绍 测试用例由测试来写,编写时间在需求评审和设计评审(如有)结束后,需求提测前,用例依赖需求文档来编写。一般包含用例标题,…...
一起长锈:3 类型安全的Rust宏(从Java与C++转Rust之旅)
讲动人的故事,写懂人的代码 故事梗概:在她所维护的老旧Java系统即将被淘汰的危机边缘,这位在编程中总想快速完事的女程序员,希望能转岗到公司内部使用Rust语言的新项目组,因此开始自学Rust;然而,在掌握了Rust编程知识之后,为了通过Rust项目组的技术面试,使得转岗成功而…...
《金融研究》:普惠金融改革试验区DID工具变量数据(2012-2023年)
数据简介:本数据集包括普惠金融改革试验区和普惠金融服务乡村振兴改革试验区两类。 其中,河南兰考、浙江宁波、福建龙岩和宁德、江西赣州和吉安、陕西铜川五省七地为普惠金融改革试验区。山东临沂、浙江丽水、四川成都三地设立的是普惠金融服务乡村振兴…...
Prompt|Kimi高阶技巧,99%的人都不知道
大家好,我是无界生长。 今天分享一条咒语,轻松让Kimi帮你生成流程图,学会了的话,点赞收藏起来吧! 效果展示 我们演示一下让kimi帮忙绘制 关注微信公众号“无界生长”的流程图,最终效果图如下所示 效果还不…...
采购管理软件:采购自动化提高效率的5种方式
在采购领域,手动数据输入和耗时的文书工作的时代已经落后了。采购自动化正在改变游戏规则,使企业能够简化流程、降低成本并提高效率。 以下是采购自动化帮助企业提高效率的5种方法。 采购管理软件,采购自动化管理,8Manage SRM,高亚科技 减少手动流程和…...
Android App开机启动
清单文件 <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"><uses-permission android:name"andro…...
服务器直连电脑(盒子直连电脑)电脑需要设置为固定ip才能访问盒子
文章目录 现象盒子设置为固定ip,pc设置成固定ip(以太网网卡,realtak那个,不是tap-windows那个,tap-windows不用管),在pc上用ip搜索工具搜索,可以搜到盒子ip。盒子设置为固定ip&#…...
【设计模式】之代理模式(两种)
系列文章目录 (其他设计模式可以参考 👉👉👉)设计模式_小杰不秃头的博客 😊😄😛 前言 今天继续给大家介绍23种设计模式中的代理模式,熟悉Spring的小伙伴都知道…...
【工具篇】-什么是.NET
“.NET":.NET Core是由Microsoft开发,目前在.NET Foundation(一个非营利的开源组织)下进行管理。.NET Core是用C#和C编写的,并采用MIT协议作为开源协议。 简单来说:就是开发框架。 .NET 又称 .NET 平台或 .NET 框架…...
OmniReader Pro mac激活版:智慧阅读新选择,开启高效学习之旅
在追求知识的道路上,一款优秀的阅读工具是不可或缺的。OmniReader Pro作为智慧阅读的新选择,以其独特的功能和卓越的性能,为您开启高效学习之旅。 OmniReader Pro具备高效的文本识别和处理技术,能够快速准确地提取文档中的关键信息…...
Stable Diffusion学习记录
文章目录 前言电脑配置推荐环境搭建下载地址安装步骤步骤一,打开下载的秋叶整合包,路径秋叶整合包/sd-wenui-aki步骤二,打开下载好的sd-webui-aki-v4.8.7解压包 Stable Diffusion软件配置,插件安装,模型下载Stable Dif…...
安装openssh-server,提供远程ssh
安装openssh-server,提供远程ssh 1.检查自己是否安装了openssh-server dpkg -l | grep ssh如果输出内容有openssh-server,说明已经安装过了,可以跳过下一步 2.安装openssh-server 由于ubuntu自带ssh客户端,只需要安装openssh-se…...
华纳云:选择数据库服务器你需要注意的5个原则
选择数据库服务器时,有几个关键原则需要注意,以确保选择的服务器能够满足你的需求并提供可靠的性能和安全性。 1. 性能需求 考虑你的应用程序对性能的需求,包括处理能力、内存、存储和网络带宽等方面。根据应用程序的负载和预期的并发访问量&…...
Linux动态库与静态库解析
文章目录 一、引言二、C/C源文件的编译过程三、静态库1、静态库的定义和原理2、静态库的优缺点3、静态库的创建和使用a、创建静态库b、使用静态库 四、动态库1、动态库的定义和原理2、动态库的优缺点3、动态库的创建和使用示例a、创建动态库b、使用动态库 五、动静态库的比较 一…...
后端的一些科普文章
后端开发一般有4个方面 后端开发流程 1阶段 域名认证 是每一个计算机在网络上有一个ip地址,可以通过这个地址来访问102.305.122.5(举例), 但是这个公网ip地址,比较难记忆,所以大家使用域名来更好的记忆…...
【Android学习】日期和时间选择对话框
实现功能 实现日期和时间选择的对话框,具体效果可看下图(以日期为例) 具体代码 1 日期对话框 1.1 xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android&quo…...
在Linux上使用Selenium驱动Chrome浏览器无头模式
大家好,我们平时在做UI自动化测试的时候,经常会用到Chrome浏览器的无头模式(无界面模式),并且将测试代码部署到Linux系统中执行,或者平时我们写个爬虫爬取网站的数据也会使用到,接下来和大家分享…...
使用Taotoken后模型API调用的延迟与稳定性观测体验分享
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用Taotoken后模型API调用的延迟与稳定性观测体验分享 作为一名日常需要与多种大模型API打交道的开发者,模型服务的稳…...
基于大语言模型与RAG的AI小说生成:从技术原理到工程实践
1. 项目概述:当AI开始“阅读”与“创作”最近在内容创作和小说爱好者圈子里,一个名为“auto-novel”的项目引起了我的注意。简单来说,这是一个利用人工智能技术,实现从“阅读”现有小说到“模仿创作”新内容的自动化工具。它的核心…...
图解人工智能(11)让人惊讶的AI
人工智能已经融入到我们的生活之中,如便捷的刷脸支付,帮我们扫地的机器人。想一想,你身边还有哪些有趣的人工智能设备?以一种设备为例,搜索它的相关信息,看它为我们的生活带来了哪些便利。开放讨论题&#…...
字节投2000亿、DeepSeek募500亿:国产AI算力军备竞赛进入“核弹级“对决
一、一条被低估的新闻2026年5月,当大多数人还在关注GPT-5.5的幻觉率降了多少个百分点时,中国AI产业发生了一件更具战略意义的大事——字节跳动宣布2026年AI基础设施资本支出超2000亿元,几乎同时,DeepSeek传出拟募资最高500亿元&am…...
2026程序员危机:AI岗位暴涨12倍,传统开发即将“毕业”?转型AI大模型开发,才是破局关键!
2026年技术圈将面临巨大变革,AI岗位需求激增,传统编程岗位面临淘汰风险。企业更看重懂AI、能提效的复合型人才。程序员需转型AI大模型开发,掌握系统设计、代码审查及AI工具应用能力。北大青鸟推出AI大模型开发实战营,聚焦落地开发…...
首次接入Taotoken时如何通过模型广场测试不同模型的响应效果
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 首次接入Taotoken时如何通过模型广场测试不同模型的响应效果 当你开始使用Taotoken平台,面对众多可选的模型࿰…...
高海拔环境下的硬件设计挑战与GPS定位故障分析
1. 从数据记录到真实体验:高海拔环境下的技术挑战作为一名电子工程师,我习惯了在实验室里与精密的仪器和数据打交道,一切都在可控范围内。但当你带着自己设计的设备,踏上非洲之巅乞力马扎罗的征途时,现实会给你上一堂生…...
复杂技术决策如何避免“竞选广告”陷阱?工程师必备的4项流程变革
1. 从一场“选举广告”引发的思考:工程师如何审视复杂系统设计午餐时看新闻,每个广告时段都被政治竞选广告塞满,内容无一例外都在攻击对手,却对自身主张闭口不谈。这场景让我这个在电子设计自动化(EDA)和半…...
正点原子 RK3562 Android14 集成 GStreamer 1.24.13(CLI + V4L2 插件)完整移植方案
RK3562 Android 系统中集成 GStreamer CLI V4L2 插件的完整移植方案,重点难点在于:预编译产物整理、Android.bp 自动生成、vendor 路径安装、运行时环境变量注入,以及 Android 动态链接 namespace 限制的排查。 正点原子RK3562J开发板瑞芯微…...
HarnessGate:专为AI Agent设计的纯消息网关,实现多平台无缝桥接
1. 项目概述:一个纯粹的AI Agent消息网关如果你正在构建一个需要对接多个聊天平台(比如Telegram、Discord、Slack)的AI助手或客服机器人,你很可能已经踩过这样的坑:市面上主流的机器人框架,比如Botpress、L…...
