GIT版本管理与分支控制
目录
1、了解Git功能
2、第一次使用Git(首次配置好,后续不用再操作)
打开git后端
设置用户签名
结果
3、初始项目架构
创建本地新仓库并初始化
文件添加到本地仓库
a.文件添加缓存区
b.缓存区内容提交到本地仓库
c.改写提交的注释
4、提交修改与版本回滚
commit修改内容
版本回滚(后悔药!)
简单操作
高级操作
5、处理分支
为什么要引入分支
创建分支
a.手动操作
b.代码操作
切换分支
a.手动操作
b.代码操作
合并分支
a.手动操作
b.代码操作
查看分支
删除分支
本地分支
删除远程分支(可能需要权限)
6、查看日志
查看历史提交日志
查看提交历史
1、了解Git功能
- Git是分布式版本控制工具
- 分布式表示每个人的电脑都是服务器,客户端可以代码仓库的完整镜像
- 版本控制表示随时通过提交,记录项目内容变化,并随时能切换到变化前内容
- 工作机制如图

2、第一次使用Git(首次配置好,后续不用再操作)
打开git后端
找到对应文件夹下,鼠标右键 选择open git bash here,打开界面如下

设置用户签名
git config --global user.name 你的名字
git config --global user.email 你的邮箱
结果

3、初始项目架构
创建本地新仓库并初始化
- 右键new 文件夹或者mkdir指令创建
- 进入该文件夹目录中
- git init 初始化仓库
初始化成功如图:
![]()
文件添加到本地仓库
a.文件添加缓存区
git add 文件名
b.缓存区内容提交到本地仓库
git commit -m “提交操作的注释”
c.改写提交的注释
git commit --amend
进入到vim编译器

选择 Y 后看到注释信息

按下"i"进入编辑,修改完成按下ctrl+o(这个是英文o),最后ctrl+x退出
4、提交修改与版本回滚
每次修改commit后都有一个版本记录,箭头指向为此版本号(回滚就是利用此id)
黄书签图案:当前版本位置
绿书签图案:本地仓库的master所处版本位置

Android Studio 、IDEA等系列软件通用操作
commit修改内容
系统自带提交,点击边框commit,进入提交暂存界面
选择需要提交的changes,再点击左下角的commit

版本回滚(后悔药!)
简单操作
a.最好自己在本地数据库回滚

b.鼠标左键选中对应版本,右键选择checkout Revision
注意:当前版本A存在未commit修改,最好选择Force checkout
- Force checkout 强制切换,切换到版本B时,暂存区是独立的,切换会版本A时会恢复原暂存区
- Smart Checkout 让你自己选择在二者不同的地方修改后再跳转版本B
- Don't Checkout 放弃回滚
结果:黄色书签(当前版本)会跳到分支B,绿色书签(master)仍然在原位置
高级操作
git reset --soft 版本id : 仅仅头指针恢复,add暂存区和工作空间内容不变
git reset --mixed 版本id :头指针和add暂存区恢复,工作空间内容不变
git reset --hard 版本id : 一切全部恢复 (我们常用!!!)
推送修改到远程数据库
常用语句:git push origin HEAD:refs/for/master
git push orgin HEAD:refs/for/目标分支
5、处理分支
为什么要引入分支
- 克隆整个master
- 同时进行多个功能开发
- 各个分支开发失败,删除即可,不会对其他分支造成影响
- 开发成功合并到master分支即可
创建分支
a.手动操作

选中master后右键,选择New Branch From "master" -> 勾选checkout branch ,取好分支名
自动生成并跳转到新分支,名字是你刚才取得,内容是master直接拷贝一份过去(一模一样)
b.代码操作
在Terminal终端输入如下指令
git branch 分支名 //创建分支
git checkout 分支名 //跳转到该分支//创建该新分支并跳转
git checkout -b 分支名
切换分支
a.手动操作
选中该分支 ,右键checkout

b.代码操作
终端中 ---》 git checkout 分支名
合并分支
a.手动操作
切换到master分支后,选中待合并分支,右键选择merge "待合并分支名" into "master"
b.代码操作
进入Terminal后,checkout切换到master分支,输入下面指令
git merge 分支名
查看分支
git branch -a 或者直接在Git模块查看
删除分支
本地分支
git branch -D 分支名 或者先切换到其他分支,然后选中待删除分支,右键点击Delete
删除远程分支(可能需要权限)
git push origin --delete 远程分支名 或者 选中然后右键点击Delete
6、查看日志
查看历史提交日志
git log

- commit 后是这次提交的版本id (括号内表示头指针位置)
- Anthor 提交者和邮箱
- Date 提交时间
- 下面是提交的注释
查看提交历史
git reflog
包括仓库版本提交和回滚版本操作

相关文章:
GIT版本管理与分支控制
目录 1、了解Git功能 2、第一次使用Git(首次配置好,后续不用再操作) 打开git后端 设置用户签名 结果 3、初始项目架构 创建本地新仓库并初始化 文件添加到本地仓库 a.文件添加缓存区 b.缓存区内容提交到本地仓库 c.改写提交的注释 …...
大模型算法备案流程最详细说明【流程+附件】
文章目录 一、语料安全评估 二、黑盒测试 三、模型安全措施评估 四、性能评估 五、性能评估 六、安全性评估 七、可解释性评估 八、法律和合规性评估 九、应急管理措施 十、材料准备 十一、【线下流程】大模型备案线下详细步骤说明 十二、【线上流程】算法备案填报…...
JAVA GUI 基本使用
package com.lu.gui;import javax.swing.*; import java.awt.*;public class MyJFrame extends JFrame {public MyJFrame() {this.setBackground(Color.BLACK);this.setResizable(false);this.setSize(500,500);this.setTitle("登录页面");} }package com.lu.gui;imp…...
【涵子来信】——AI革新:1.新时代是便捷的,要会用
各位读者朋友们: 我们现在AI时代的十字路口,AI是为生活带来便利的,我们要会使用AI。今天这篇文章来讲述一下AI的正确使用。 一、 AI的使用 1.1.便捷之中要会辨别 AI是带来强大的,利用好可以给生活带来便捷。 像之前WWDC24宣传…...
自定义线程池实现(一)
预期目标 1.实现一个相对完备的线程池 2.自定义拒绝策略(下一节) 线程池的基本参数 1.核心线程数 2.超时时间 3.拒绝策略(在下一篇中添加) 4.工作队列 5.任务队列 工作机制 当添加一个任务到线程池中时,线程池会…...
计算机毕业设计选题推荐-零食批发商仓库管理系统-Java/Python项目实战
✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...
基于springboot+vue+uniapp的校园快递平台小程序
开发语言:Java框架:springbootuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包&#…...
这两个大龄程序员,打算搞垮一个世界软件巨头!
大家都知道,Adobe是多媒体和数字内容创作者的绝对王者,它的旗下有众多大家耳熟能详的软件:Photoshop、Illustrator、Premiere Pro、After Effects、InDegign、Acrobat、Animate等等。 这些软件使用门槛很高,价格昂贵,安…...
LabVIEW放大器自动测量系统
开发了一个基于LabVIEW平台的多路前置放大器自动测量系统的开发与实施。该系统集成了硬件控制与软件编程,能够实现放大器各项性能指标的快速自动测量,有效提高了测试的精确性和效率。系统设计采用了虚拟仪器技术,结合了先进的测量与控制策略&…...
全面整理人工智能(AI)学习路线图及资源推荐
在人工智能(AI)飞速发展的今天,掌握AI技术已经成为了许多高校研究者和职场人士的必备技能。从深度学习到强化学习,从大模型训练到实际应用,AI技术的广度和深度不断拓展。作为一名AI学习者,面对浩瀚的知识海…...
react antd upload custom request处理多个文件上传
react antd upload custom request处理多个文件上传的问题 背景:第一次请求需要请求后端返回aws 一个link,再往link push文件,再调用另一个接口告诉后端已经上传成功,拿到返回值。 再把返回值传给业务api... 多文件上传一直是循环…...
ALB快速实现IPv4服务的负载均衡
阿里云应用型负载均衡ALB支持HTTP、HTTPS和QUIC协议,专门面向网络应用层,提供强大的业务处理能力。 为了实现IPv4服务的负载均衡,需要快速创建一个ALB实例,并将来自客户端的访问请求转发至后端服务器。 操作流程 第一步&#x…...
【LLM】-12-部署Langchain-Chatchat-0.3.x版本
目录 1、0.3与0.2的功能对比 2、0.3.x支持多种部署方式 2.3、源码安装 2.3.1、项目源码下载 2.3.2、创建conda环境 2.3.3、安装poetry 2.3.4、安装依赖库 2.3.5、项目初始化 2.3.6、配置文件 2.3.7、初始化知识库 2.3.7、启动服务 2.3.8、配置说明 2.3.8.1、basic_…...
优化网络接收缓存减少数据丢包
视频领域,网络udp数据丢包会引起视频解码花屏。 1、修订单个socket的缓冲区大小:通过setsockopt使用SO_RCVBUF来设置接收缓冲区,该参数在设置的时候不会与rmem_max进行对比校验,但是如果设置的大小超过rmem_max的话,则…...
数据透视——判别分析
文章目录 判别分析简介常用的判别分析方法距离判别贝叶斯判别线性判别分析(LDA)支持向量机(SVM)总结 补充 在数据科学的丰富领域中,判别分析扮演着至关重要的角色。它是一种统计方法,用于预测样本数据的类别…...
书生大模型学习笔记 - 连接云端开发机
申请InternStudio开发机: 这里进去报名参加实战营即可获取 书生大模型实战营 InternStudio平台 创建开发机 SSH连接开发机: SSH免密码登录 本地创建SSH密钥 ssh-keygen -t rsa打开以下文件获取公钥 ~/.ssh/id_rsa.pub去InternStudio添加公钥 …...
Python操作符的重载
目录 1、操作符重载的基本概念1.1、常用的操作符重载方法1.1.1、算术操作符1.1.2、比较操作符1.1.3、比其他操作符 1.2、例子 2、应用场景2.1、增强代码的可读性2.2、 实现类的数学运算2.3、支持自定义的数据结构2.4、简化 API 设计2.5、实现链式操作和流式接口 3、总结 Python…...
redis面试(三)Hash数据结构
HASH 哈希,在redis底层实现的时候,数据的结构叫做dict 这个Dict就是一个用于维护key和value映射关系的数据结构,与很多语言中的Map类型相似。 本质上也是一个数组链表的形式存在,不同的点在于,每个dict中是可以存在…...
Java基础语法
注释 注释就是在程序指定位置添加的说明性信息 简单理解,就是对代码的一种解释 注释有三种: 单行注释 格式://注释信息 多行注释 格式:/*注释信息*/ 文档注释 格式:/**注释信息*/ 注释的注意事项…...
Qt | QChart+QChartView+QLineSeries(折线图)+QBarSeries(柱状图)实战
点击上方"蓝字"关注我们 01、QLineSeries QLineSeries 是 Qt 中的一个类,用于在图表中表示一系列的数据点。它继承自 QAbstractSeries 类,提供了绘制折线图所需的基本功能。 常用的方法包括 append(x, y):向序列中添加一个新的数据点,其中 x 和 y 分别表示横坐…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
9-Oracle 23 ai Vector Search 特性 知识准备
很多小伙伴是不是参加了 免费认证课程(限时至2025/5/15) Oracle AI Vector Search 1Z0-184-25考试,都顺利拿到certified了没。 各行各业的AI 大模型的到来,传统的数据库中的SQL还能不能打,结构化和非结构的话数据如何和…...
基于单片机的宠物屋智能系统设计与实现(论文+源码)
本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢,连接红外测温传感器,可实时精准捕捉宠物体温变化,以便及时发现健康异常;水位检测传感器时刻监测饮用水余量,防止宠物…...
