复习git的使用
文章目录
- 复习git的使用
- 基础
- 提交文件
- 查看
- 回退
- 撤销修改
- 分支
- 创建
- 切换
- tag
- 其他命令
- HEAD 指针 的理解
复习git的使用
最近公司的老旧项目要由svn转到git,git 命令大都忘记了,这里复习总结一下。
基础
查看本地git版本
git --version
查看本地git配置信息
git config --list
设置配置信息
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
提交文件
如果没有分支合并什么的操作的话,使用git提交一个文件的大概步骤:
1.查看状态
git status
2.将修改添加到暂存区
添加需要提交的修改。git add .
是全部添加,这个不建议直接使用
git add 文件目录 / git add .
3.提交到本地仓库
git commit -m "描述文本"
4.将本地仓库代码更新到最新
git pull
5.将本地修改推送到远程仓库
git push
注:提交之前先同步本地仓库;更新之后有冲突的话先修改冲突。
查看
查看最近几次的提交记录
git log
git reflog
git log --pretty=oneline
查看某个文件详细的提交记录
git log -p README.md
回退
git reset --hard commitId
注意使用前先将本地修改add 和 commit 都本地仓库,否则一回退,再回来,本地修改就没了。
git revert
特别注意:如果不熟悉尽量不要使用git revert 和 reset,使用前必须想好自己要做什么,是要撤销?删除?还是只是回退查看。
使用场景举例:
如果已经有A -> B -> C,想回到B:
方法一:reset到B,丢失C:
A -> B
如果 C 是提交错了,要删掉,可以使用reset命令回退之后再推送到远程。
方法二:revert提交一个反向回退,变成B:
A -> B -> C -> B
C还在,但是两个B是重复的
如果C就是修改,现在又要改回来,将来可能再改成C,那你就revert
如果不小心将密码啥的提交到远程了,要删除修改,如果此条修改是在第一条,那直接reset后重新push上去就行,如果不是在第一条,这样做的话会将这条之后的修改都丢失了?如果有一个指针直接到某条commit id,然后修改,提交到当前的commit上就更好了,我暂时不清楚有没有这样的功能。
撤销修改
git checkout -- readme.txt
有两种情况,一是还没添加到暂存区,撤销之后本地修改就没了;二是如果已添加到了暂存区,再撤销的话撤销修改就回到添加到暂存区后的状态。
注意:这里的“–” ,如果不加 “–” 的话就成了切换分支的命令。
或者使用 git restore
git restore readme.txt
工作区做了修改,并未添加到暂存区,想撤销工作区的修改,用 git restore即可。
如果工作区的修改已经add到了暂存区,需要将暂存区和工作区的修改都撤销
git restore --staged readme.txt
git restore readme.txt
从暂存区恢复工作区,
git restore --worktree readme.txt
从master恢复暂存区
git restore --staged readme.txt
分支
创建
git branch dev
//创建一个dev分支
git checkout dev
//切换到dev分支
git push origin dev
//将本地dev分支推送到远程
或
git checkout -b dev
// 创建dev分支并切换至dev分支
git push origin dev
//将本地dev分支推送到远程
git checkout -b dev
相当于 git branch dev
然后 git checkout dev
推送到远程后,远程就会有一个origin/dev的分支。
如果远程已有dev分支,则基于远程dev分支创建本地dev分支:
git checkout -b dev origin/dev
git branch -d dev
// 删除本地分支
git branch -D
// 强制删除分支
切换
git checkout 分支名 / git switch 分支名
建议使用 switch 命令,是最新的命令
tag
git tag v1.0
打本地tag
git push origin v1.0
将本地tag推到远程
git push origin --tags
将本地所有tag推至远程
git tag -d v1.0
删除本地tag,删除后要删除远程,也需要push origin
其他命令
显示当前目录
pwd + 回车
创建文件/文件夹
touch readme.txt
查看文件内容
cat 文件名
HEAD 指针 的理解
HEAD 指针指向当前的版本分支,所以在不同的版本之间切换,实际上是改变 HEAD 指针的指向,所以在不同版本之间切换会很快。
相关文章:
复习git的使用
文章目录复习git的使用基础提交文件查看回退撤销修改分支创建切换tag其他命令HEAD 指针 的理解复习git的使用 最近公司的老旧项目要由svn转到git,git 命令大都忘记了,这里复习总结一下。 基础 查看本地git版本 git --version 查看本地git配置信息 gi…...
pip命令大全 含换源方法
目录 一、命令列表 二、通用选项列表 三、常用操作 1.使用 requirements.txt 安装包 2.生成requirements.txt文件 3.pip升级命令 4.开启向后不兼容的新功能 5.启用已弃用的功能 四、pip换源 1.临时使用pip源方法 2.永久修改方法 一、命令列表 命令说明实例install安…...

数据结构与算法之最短路路径与最短路径和动态规划
If every unfolding we experience takes us further along in life, then, we are truly experiencing what life is offering.如果我们在人生中体验的每一次转变都让我们在生活中走得更远,那么,我们就真正的体验到了生活想让我们体验的东西。Do not tr…...

git 本地新建分支并进行合并
由于新的要求 不允许在线上直接clone下的git分支进行开发,只能本地新建分支再往线上分支合并远程库clone到本地库 git clone 需要下载的git地址注意我下载下来的是dev分支 根据实际情况进行分析git clone https://gitee.com/hello.git本地创建新的分支 git checkout…...

2023年DAMA-CDGA/CDGP数据治理认证选择哪家机构好?
DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业…...

浅析高速服务区交互一体机设备管理系统的建设与方向
很多高速公路服务区均缺乏现代化的服务思维、理念和手段,信息系统功能薄弱,服务区的自助服务终端存在功能单一、人机交互体验差、设备维护管理成本高、联动效率低、运营难等问题,这不仅无法支撑服务区的精细化服务和智能化管理需求࿰…...

分布式面试题
目录 分布式id的生成方案有哪些 雪花算法生成的ID由哪些部分组成 分布式锁在项目中有哪些应用场景? 分布式锁有哪些解决方案 Redis做分布式锁用什么命令 Redis做分布式锁,死锁有哪些情况?如何解决 Redis如何做分布式锁 MySQL如何做分布式锁 什么…...

Prophet 处理时间序列数据
Prophet 处理时间序列数据 flyfish 论文地址 https://peerj.com/preprints/3190/ 官网 https://facebook.github.io/prophet/ 源码地址 https://github.com/facebook/prophet hon import pandas as pd from prophet import Prophet df pd.read_csv(https://raw.githubuse…...

一文搞清楚LoRa网关,LoRa网关全知道
欢迎来到东用知识小课堂下面,今天我们用东用科技的OGC300系列LoRa为例,以简单的方式帮助大家了解一下LoRa相关的小知识一、LoRa网关的基本介绍LoRa是semtech公司创建的低功耗局域网无线标准,低功耗一般很难覆盖远距离,远距离一般功…...

医疗保健和智慧城市服务将引领5G物联网采用
Juniper Research预测,到2026年,全球5G物联网连接将达到1.16亿,而2023年仅为1700万。该公司预测,医疗保健部门和智慧城市服务将在未来三年推动这1100%的增长,到2026年占5G物联网设备的60%以上。5G物联网技术的超低延迟…...
promise静态方法及相关练习
promise的静态方法相对简单,这篇文章做个总结,以便漏补缺总结如下:1. Promise.all/Promise.anyPromise.allSettled/Promise.race都是接受数组,数组里面是promise2.. Promise.all 接收的promise数组只要有一个失败那么整个就是失败…...

【Tips】通过背数据了解业务
学习资料:做了三年数据分析,给你的几点建议 1. 通过背数据了解业务 原文: 总结: 方法:每天早上去到公司第一件事情就是先背一遍最新的各种指标。原理: 数据敏感性就是建立在对数据的了解和熟悉上。业务的…...

设备太分散?如何一站式管理边缘 OS、K8s 和应用?
作者简介 张志龙,SUSE 大中华区资深解决方案架构师,CNCF 官方认证的 CKA&CKAD 工程师,深耕以 Kubernetes 为代表的云原生领域,具备丰富的架构设计、业务容器化改造和项目落地实践经验。 据 Gartner 预测,到 2025 年…...
CF1692D The Clock 题解
CF1692D The Clock 题解题目链接字面描述题面翻译题目描述输入输出题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示代码实现题目 链接 https://www.luogu.com.cn/problem/CF1692D 字面描述 题面翻译 题目描述 从一个24小时制的时间点开始,每隔 xx…...

IDEA 30 个好用天花板技巧,敲代码直接接爽到飞。
IDEA 作为Java开发工具的后起之秀,几乎以碾压之势把其他对手甩在了身后,主要原因还是归功于:好用;虽然有点重,但依旧瑕不掩瑜,内置了非常多的功能,大大提高了日常的开发效率,下面汇总…...

关于selenium的等待
目录 隐式等待 显式等待 注意事项 隐式等待 简单来说:在规定的时间范围内,轮询等待元素出现之后就立即结束。 如果在规定的时间范围内,元素仍然没有出现,则会抛出一个异常【NoSuchElementException】,脚本停止运行…...

结构建模设计——Solidworks软件之装配体操作基本总结三(高级配合、机械配合、快捷菜单功能)
【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《QT开发实战》 《嵌入式通用开发实战》 《从0到1学习嵌入式Linux开发》 《Android开发实战》 《实用硬件方案设计》 长期持续带来更多案例与技术文章分享…...

【在 Colab 中使用 TensorBoard 绘图】
【在 Colab 中使用 TensorBoard 绘图】进入 Google Drive进入 Colab在深度学习中,使用本机GPU跑可能会比较慢,这里使用 Google Drive Colab 进行训练,运行代码 进入 Google Drive 进入网盘 初次进入需要注册账号。注意科学上网即可。右键…...
React循环DOM时为什么需要添加key
一、React 渲染流程和更新流程 react渲染流程:jsx -> 虚拟dom -> 真实domreact更新流程:props/state改变 -> render函数重新执行 -> 生成新的虚拟dom树 -> 新旧虚拟dom树进行diff -> 计算出差异进行更新 ->更新到真实的dom树 所以…...
Elasticsearch架构篇 - terms aggregation
terms aggregation 即词项分桶聚合。它是 Elasticsearch 最常用的聚合,类同于关系型数据库依据关键字段做 group。 size:返回的词项分桶数量,默认 10。阈值 65535。默认情况下,协调节点向每个分片请求 top size 数量的词项桶&…...

springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...

DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...

如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
加密通信 + 行为分析:运营商行业安全防御体系重构
在数字经济蓬勃发展的时代,运营商作为信息通信网络的核心枢纽,承载着海量用户数据与关键业务传输,其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级,传统安全防护体系逐渐暴露出局限性&a…...