一文速通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

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

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

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

相关文章

虚拟化数据恢复—重写文件系统导致Hyper-V虚拟机无法使用的数据恢复

虚拟化数据恢复环境: 一台服务器上部署的Hyper-V虚拟化平台,虚拟机的硬盘文件和配置文件放在一台某品牌MD3200存储中。该存储中有一组由4块硬盘组建的raid5磁盘阵列,还有一块大容量硬盘存放虚拟机数据文件的备份。 虚拟化故障: M…

10046 事件学习

一、作用 sql执行过程中所有动作和等待的追踪。 二、等级 level:12 包含常用的分析信息:基本信息绑定变量等待事件; level:1 基本信息; level:4 基本信息绑定变量 level:8 基本信息绑定变…

字体表绘制的理解

下载字体到项目根目录下,我们通过一些在写预览本地字体的网站,简单看一下 通过图片不难看出阴书与原文的对应关系,接下来通过程序去完成这一过程,通过 fonttools 处理 ttf,然后获取字体和文字对应的 xml 文件 下面简单…

Java并发(十五)Java并发工具类

CountDownLatch 字面意思为 递减计数锁。用于控制一个线程等待多个线程。 **CountDownLatch**** 维护一个计数器 count,表示需要等待的事件数量。**countDown 方法递减计数器,表示有一个事件已经发生。调用 await 方法的线程会一直阻塞直到计数器为零&a…

工作纪实54-git使用ssh方式

很多居家的小伙伴要重新clone项目,但是忘记了密码,最恶心的是idea还会自动帮你记录密码,如果输错了,会很恶心,使用ssh则不会;还有一个好处就是,集团的密码一般都是几个月更新一次,ss…

【IEEE出版】第五届大数据、人工智能与软件工程国际研讨会(ICBASE 2024,9月20-22)

第五届大数据、人工智能与软件工程国际研讨会(ICBASE 2024)将于2024年09月20-22日在中国温州隆重举行。 会议主要围绕大数据、人工智能与软件工程等研究领域展开讨论。会议旨在为从事大数据、人工智能与软件工程研究的专家学者、工程技术人员、技术研发人…

人工智能学习笔记 - 初级篇Ⅱ - 图形可视化 - 第12节: 绘制带彩色标记的散点图

微信公众号:御风研墨 关注可了解更多。问题或建议,请公众号留言 文章目录 绘制带彩色标记的散点图应用背景准备工作操作步骤工作原理补充说明最后 绘制带彩色标记的散点图 应用背景 散点图是数据可视化中常用的图表类型之一,它可以用来展示…

IDEA某个项目被同事提交的代码导致不能进入Debug了,不是IDEA的问题。千万要避坑!

刚开始我发现突然不能进入debug了,打上去后就立马边灰了,我以为是我IDEA的问题,后来我换了其他项目都能正常进入debug. 而且后续,这个项目的其他同事也都不能进入debug了。 我就怀疑是项目中有人提交了代码导致的。 后来查…

【网络】网络AP热点:技术、应用与未来展望

引言 在数字化时代,无线网络已成为连接世界的重要基础设施。无线接入点(Access Point,简称AP)作为无线网络的核心组成部分,扮演着至关重要的角色。它们不仅提供了无线信号的覆盖,还通过桥接、中继等功能&a…

浅谈线程组插件之bzm - Arrivals Thread Group

浅谈线程组插件之bzm - Arrivals Thread Group bzm - Arrivals Thread Group 是 JMeter 中的一个高级插件,由 BlazeMeter 提供,旨在为性能测试提供更灵活、更贴近实际场景的负载生成方式。与传统的线程组不同,Arrivals Thread Group 通过控制…

【漏洞复现】360天擎 - 未授权与sql注入

漏洞描述 360天擎 - 未授权与sql注入 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息…

Matplotlib面积图绘制秘籍:让你的数据‘膨胀’起来,但不吹泡泡哦!

1. 引言 嘿,数据迷们!想不想让你的数据‘活’起来,跳一曲色彩斑斓的面积舞?Matplotlib面积图,不只是数字的堆砌,它是故事的讲述者,让复杂数据变得一目了然,还带点小幽默。快来一探究…

NASA:水瓶座官方发布第 3 级辅助雷诺海面温度标准映射图像降序 7 天数据 V5.0

Aquarius Official Release Level 3 Ancillary Reynolds Sea Surface Temperature Standard Mapped Image 7-Day Data V5.0 水瓶座官方发布第 3 级辅助雷诺海面温度标准映射图像降序 7 天数据 V5.0 AQUARIUS_L3_ANCILLARY_SST_SMID_7DAY_V5 简介 水瓶座 3 级辅助海面温度 (…

网上租房系统2024

网上租房系统2024(代码论文ppt),编号:sp007 代码经过修正,确保可以运行,下载地址在文末 技术栈: springbottvuemysql 展示: 下载地址: CSDN现在上传有问题,有兴趣的朋友先收藏.正常了贴上下载地址 备注: 专业承接各种程序java,c,c,python,cuda,AI 运行有问题请私信我,私…

使用 WeNet 训练 AISHELL-1 模型,看这篇就够了!!!!!!新手少走一个月弯路。

使用 WeNet 训练 AISHELL-1 模型的详细入门指南 在这篇文章中,我们将通过 WeNet 框架详细介绍如何训练 AISHELL-1 数据集的语音识别模型。我们将逐步解释各个阶段的操作,适合初学者入门。 文章目录 使用 WeNet 训练 AISHELL-1 模型的详细入门指南1. 环…

SFP, SFP+,QSFP光模块封装类型学习

前言: 本文是自己对SFP, SFP,QSFP光模块封装类型的学习记录,所有的资料都搜集字引用链接里的博客内容,本文更多的是自己的学习笔记记录所以可能会有一些理解错误,请更多的参考引用链接里的信息来源。 引用: 认识SFP/SF…

学习c语言第十八天(指针笔试题)

一维数组 字符数组 char*p"abcdef" p里面放的是a元素的地址 二维数组 指针笔试题 第一题 2 5 第二题 第三题 第四题 第五题 第六题 10 5 第七题 at 第八题 POINT ER ST EW

HTTP协议详解(一)

协议 为了使数据在网络上从源头到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议,它最终体现为在网络上传输的数据包的格式。 一、HTTP 协议介绍 HTTP(Hyper Text Transfer Protocol): 全…

AlmaLinux9安装中文语言包_zabbix没有中文语言包

更新你的系统包,如果系统最新可以忽略: sudo dnf update安装中文简体语言包 sudo yum install langpacks-zh_CN安装繁体中文包 sudo dnf install kde-l10n-Chinese-traditional安装完成后重启系统,以确保语言设置生效 设置系统为简体中文&…

【JavaSE-线程安全问题-死锁详解】

🌈个人主页:努力学编程’ ⛅个人推荐: c语言从初阶到进阶 JavaEE详解 数据结构 ⚡学好数据结构,刷题刻不容缓:点击一起刷题 🌙心灵鸡汤:总有人要赢,为什么不能是我呢 🌈…