一文速通GIT版本管理与分支控制

news2025/1/9 15:19:17

目录

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

包括仓库版本提交和回滚版本操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1960169.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【产品分析】作业帮

​基本信息 作业帮是目前国内最大的 K12 在线教育类 APP,致力于为全国中小学生提供全学段的学习辅导服务,其课程覆盖小学,初中,高中所有学科,并支持在线答题解题、一对一辅导、作文搜索、直播课、题库练习等众多功能&…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第六十三章 输入子系统实验

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

Rpi Zero W做的老头乐声控灯

祭图__|\0>历经各种尝试,最后选了docker 里装个rhasspy,配上paho-mqtt搞出了这个奇葩夜灯。各种曲折就不说了,直接分享捷径思路。 这个绿板子是respeaker hat with 2 mic 用的是seeed-voicecard,跟着github编译,不…

SM2p256v1椭圆曲线点加点减倍点python实现代码

首先给出SM2p256v1椭圆曲线的建议参数如下: default_ecc_table {n: FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123,p: FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF,g: 32c4ae2c1f1981195f9904466a39c9948fe30bbff266…

基于零极点配置的PID控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 PID控制器的基本形式 4.2 零极点配置原理 5.完整工程文件 1.课题概述 基于零极点配置的PID控制系统simulink建模与仿真,设置不同个数的零极点,对比PID控制器的控制输出效果。…

方天云智慧平台系统 GetCompanyItem SQL注入漏洞复现

0x01 产品简介 方天云智慧平台系统,作为方天科技公司的重要产品,是一款面向企业全流程的业务管理功能平台,集成了ERP(企业资源规划)、MES(车间执行系统)、APS(先进规划与排程)、PLM(产品生命周期)、CRM(客户关系管理)等多种功能模块,旨在通过云端服务为企业提供…

算法板子:模拟哈希表——哈希映射、哈希表中插入新值、拉链法处理冲突、查找一个数是否在哈希表中

由题意到x是[-1e9,1e9],我们要将x映射到[0,1e5)这种映射过程可以使用哈希函数hash(x)将x映射到对应的坑位,并使用哈希表存储映射后的x,这里的存储我们选用拉链法将映射到同一个坑位的数串起来; 哈希表又称为散列表比如: hash(4)4%31&#xff…

全国产业园排名新看点:国际数字影像产业园再创新高

随着中国数字经济的快速发展,产业园区作为技术创新和产业聚集的核心区域,正不断涌现出新的活力和突破。树莓集团旗下所运营的国际数字影像产业园,以其卓越的运营模式和创新能力,成功跻身全国产业园区的前列,成为行业的…

Godot学习笔记7——Input单例与自定义单例

一、单例 单例是一个可以在任何脚本直接访问的对象,分为内置单例与自定义单例。内置单例不是节点,主要成员是各类Server,开发者可以使用它们直接控制游戏程序的图形与音效等内容。 我们可以在文档中查找“GlobalScope”获取相关内容&#x…

【Python学习手册(第四版)】学习笔记07-Python对象类型-字符串详解

个人总结难免疏漏,请多包涵。更多内容请查看原文。本文以及学习笔记系列仅用于个人学习、研究交流。 这篇文章是对Python对象类型-字符串的详解。内容较多需花1-2h阅读。如果你是0基础的初学者建议看这篇文章,对比其他教程会更加容易上手。 对字符串做了…

Java语言程序设计——篇十(1)

🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿 接口介绍 接口概述接口定义接口的实现实战演练 👅接口的继承实战演练实战演练 接口的类型常量实战演练 静态方法默认方法解决默认方…

一投就中不是梦,录取率>80%,最快1个月就见刊,计算机沾边就收,认可度还不低

本次模术狮精心整理5本期刊,最快1个月就见刊,计算机沾边就收,认可度还不低! 1 Knowledge-Based Systems ▲ 图片来源:Knowledge-Based Systems官网 期刊简介:《Knowledge-Based Systems》是人工智能领域的…

(2024,缩放定律,信息论,模型大小与数据的线性关系)神经缩放定律的信息论基础

Information-Theoretic Foundations for Neural Scaling Laws 公和众与号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 1. 简介 3. 缩放定律 4. 一个例子 5. 结论 0. 摘要 神经网络…

EasyExcel - table写入复杂表头及内容

需求:在一个工作簿中,需要填充固定字段信息,并写入多个不同的标题列的表格及内容。 常规Excel写入一般是一个工作簿一个表头。 目录 一、复杂表单分析1.表单示例2.复杂表单拆解3.准备模板 二、EasyExcel文档1.最简单的填充Excel2.使用table去…

[Linux安全运维] Nginx安装部署以及LNMP框架搭建保姆级教程

前言 LNMP:Linux 系统下 NginxMySQLPHP 网站服务器架构。因为四种软件均是免费开源网站,所有这是一个免费、高效的网站服务系统。 本章主要介绍的是Nginx相关的环境部署,以及LNMP框架的搭建,Nginx知识点介绍在文章:[…

昇思25天学习打卡营第23天|基于MindSpore的红酒分类实验案例:从数据准备到模型预测

目录 MindSpore 版本配置与红酒数据集下载 葡萄酒数据读取、处理与可视化分析 基于 KNN 算法的样本分类模型构建与预测函数定义 基于 KNN 模型的测试集预测与准确率计算 MindSpore 版本配置与红酒数据集下载 首先使用 %%capture captured_output 捕获后续代码的输出。然后&a…

【Django5】内置Admin系统

系列文章目录 第一章 Django使用的基础知识 第二章 setting.py文件的配置 第三章 路由的定义与使用 第四章 视图的定义与使用 第五章 二进制文件下载响应 第六章 Http请求&HttpRequest请求类 第七章 会话管理(Cookies&Session) 第八章 文件上传…

python中,jsonpath提取数据的时候出现TypeError: ‘bool‘ object is not subscriptable怎么解决

json格式如下: { success: True, result: { codeInfo: { code: 0, msg: 成功 }, uploadToken: { resId: rzJRpo, endpoint: https://sit-api-ypsx-resource.ypsx-internal.com/r…

知识分享|temu跨境选品师盈利一般要多久?

在成为一名跨境选品师,特别是在TEMU(The Easy Market University)平台上,盈利的速度取决于多种因素,包括个人技能、市场选择、产品定位和运营策略等。这些因素共同决定了一个选品师从初始阶段到稳定盈利的时间轨迹。 首先,对于新手…

vue3组件通信(一)

组件通信 一.props(父<>子)二.自定义事件&#xff08;子>父&#xff09;三.mitt(实现任意组件通信)四.v-model(父<>子)(1).v-model的本质(2).组件标签中v-model的本质(3).$event到底是什么 概况 一.props(父<>子) 使用频率最高 若 父传子&#xff1a;属性…