Git相关命令

SSH密钥文件

Github里面S设置SH公钥有两者选择方式

  1. 账号下的每个仓库都设置一个公钥,因为GitHub官方要求每个仓库的公钥都不能相同,所以每个账号都要搞一个密钥(很麻烦)
  2. 给账号分配一个公钥,然后这个公钥就可以在这个账号下的每个仓库中使用(推荐)

生成密钥

ssh-keygen -t rsa -C "your_email@youremail.com"

验证密钥是否添加成功

ssh -T git@github.com

本地仓库处理

创建仓库

git init

将文件添加到仓库

git add .

将文件提交到仓库

git commit -m "message"

修改最新提交的commit

git commit --amend

回滚到特定版本

git reset --hard HEAD^	#回滚到上一版本
git reset --hard HEAD~3	#回滚到3次版本之前,以此类推可回到n次版本之前
git reset --hard commit_id

查看仓库当前状态

git status

更改分支名称

git branch -m oldNme newName

远程仓库处理

删除远程分支

git push --delete origin oldName

克隆仓库

git clone <repo>

连接远程仓库

git remote add origin git@github.com:yourName/repositoryname.git
or
git remote add origin https://github.com/yourName/repositoryname.git

从远程仓库pull到本地仓库

git pull origin main//因为黑命贵,所以master改main了。。。。这里好坑

从本地push到远程仓库

git push origin main

.gitignore文件

当文件已经提交后才记起来没有写.gitignore文件的处理方法:

git rm -r --cache . #不要忘了后面的那个"."
git add .
git commit -m "重新添加.gitignore文件"

git rebase命令

情景再现:commit太多次,想要将其合并(广义上的删除)

如图,共有4此提交

git log命令可以看到,共有4次提交,想要合并其中的“增加4.1和4.2文件”和“加入3.1和3.2文件”,将其表达为“增加3.1,3.2,4.1,4.2文件”。(可以使用git log --pretty=oneline命令让commit一行一行输出)

操作

git rebase -i commit_id(commit_id只需要简写前面六位字母即可,不需要全部填上去)

以上命令的commit_id表示的是将其前面的commi_id列入编辑状态,例如此处我输入git rebase -i 88480a ,则可以对411b015a9bb68f0dd1这三个commit进行编辑。(也就是说分支最少会剩余2个commit)

进入编辑页面

image-20220331003630124

前缀的意思:

  1. pick保留该commit,缩写:p
  2. squash使用该commit但是合并到前一个的commit之中去,缩写:s,在某种意义上来说就是删除。该步骤结束后会弹出窗口对合并后的commit进行编辑
  3. reword类似于pick,但是会弹出窗口,可以修改commit的信息,缩写:r
  4. edit类似于reword可以修改commit,会将commit的修改放置在接下来的amending中,也比较方便,缩写:e
  5. fixupsquash类似,但是会直接舍弃其commit信息,缩写:f
  6. exec执行shell命令(没用过)
  7. drop删除某一commit

此处将“增加4.1和4.2文件”前的pick更改为squashfixup也可以,就不会弹出窗口了),关闭编辑器,会弹出以下窗口

image-20220331111257663

默认最后的commit会有两个合并的commit共同组成,也可以在这里进行修改,例如我改成这样一行显示的:

image-20220331111455061

合并结果就会变成

image-20220331111542047

PS:每次操作之后记得都要ctrl+s保存

关于noop

当我们选取了最新的commit之后,就会显示noop,表示在这之前没有更新的commit可供操作,例如在本例中我输入git rebase -i fb083c,则会显示noop:

image-20220331111830269

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【操作系统原理】计算机系统概述

计算机系统概述 操作系统运行环境 用户程序执行____指令发起系统调用&#xff0c;请求操作系统提供服务&#xff0c;这一过程中系统通过____机制从用户态进入核心态。 【答&#xff1a;访管指令(trap)指令&#xff0c;硬件中断】 访管指令是在用户态使用的&#xff0c;并不是…

MySQL数据库管理高级语句

数据表高级操作 复制表及内容 #复制表及内容create table copy1 like zh1 ; #复制格式&#xff0c;通过LIKE方法&#xff0c;复制zh1表结构生成copy1表 insert into copy1 select * from zh1; #备份内容 克隆表 克隆表&#xff0c;将数据表的数据记录生成到新的表中C…

springboot源码编译问题

问题一 Could not find artifact org.springframework.boot:spring-boot-starter-parent:pom:2.2.5.RELEASE in nexus-aliyun (http://maven.aliyun.com/nexus/content/groups/public/) 意思是无法在阿里云的镜像仓库中找到资源 解决&#xff1a;将配置的镜像删除即可&#…

C++内存模型

目录 内存模型分类 堆和栈的区别 C中new的工作过程 堆和栈的区别 为什么堆区要比栈区大 内存模型分类 文本段&#xff08;ELF&#xff09;&#xff08;数据区&#xff09;&#xff1a;主要用于存放我们编写的代码&#xff0c;但是不是按照代码文本的形式存放&#xff0c;而…

Linux学习记录——이십오 多线程(2)

文章目录 1、理解原生线程库线程局部存储 2、互斥1、并发代码&#xff08;抢票&#xff09;2、锁3、互斥锁的实现原理 3、线程封装1、线程本体2、封装锁 4、线程安全5、死锁6、线程同步1、条件变量1、接口2、demo代码 1、理解原生线程库 线程库在物理内存中存在&#xff0c;也…

Web服务器端应用开发

一、登录验证器 1.1相关概念 登录验证器是一种用于提高帐户安全性的应用或设备&#xff0c;它可以在你输入用户名和密码后&#xff0c;生成或接收一个一次性的验证码或通知&#xff0c;以进行第二次身份验证。这样&#xff0c;即使你的密码被泄露或破解&#xff0c;其他人也无…

如何使用海艺人工智能生成创意汉字

1、用某种字体生成文字。 jf storehttps://store.justfont.com/fonts 2、打开seaart。ai网站。https://www.seaart.ai/home 3、效果如下。 4、右键保存图片。

浏览器跨域

生活中的事跟跨域有什么关系&#xff0c;那必须有。 跨域的产生是浏览器的安全机制引起的&#xff0c;只有在使用Ajax时才会发生。简单来说就是你可以通过ajax发送请求&#xff0c;但要看远程服务器脸色&#xff0c;他没授权&#xff0c;浏览器这个老六就给拦截了&#xff0c;不…

【实操干货】如何开始用Qt Widgets编程?(三)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 在本文中&#xff0…

数据结构入门 — 链表详解_双向链表

前言 数据结构入门 — 双向链表详解* 博客主页链接&#xff1a;https://blog.csdn.net/m0_74014525 关注博主&#xff0c;后期持续更新系列文章 文章末尾有源码 *****感谢观看&#xff0c;希望对你有所帮助***** 系列文章 第一篇&#xff1a;数据结构入门 — 链表详解_单链表…

Windows 转 mac 记录

初次从Windows转mac可能会不适应&#xff0c;建议先看看 【6分钟搞定MacBook】不懂时无所适从&#xff0c;学会后越用越爽&#xff01;_哔哩哔哩_bilibili 我主要是做一些补充记录 1、Windows的右键等于mac的双击触控板、control单击触控板 2、运行中的应用下方会有一个点&…

深度学习:Sigmoid函数与Sigmoid层区别

深度学习&#xff1a;Sigmoid函数与Sigmoid层 1. Sigmoid神经网络层 vs. Sigmoid激活函数 在深度学习和神经网络中&#xff0c;“Sigmoid” 是一个常见的术语&#xff0c;通常用来表示两个相关但不同的概念&#xff1a;Sigmoid激活函数和Sigmoid神经网络层。这两者在神经网络…

go语言学习之有关变量的知识

文章目录 变量的学习1.变量的使用步骤2.变量的注意事项3.变量使用的三种方式&#xff1a;4.程序中 号的使用5.变量的数据类型1&#xff09;int数据类型2&#xff09;小数类型浮点型3&#xff09;**字符类型**4&#xff09;**字符串&#xff08;String&#xff09;类型**5&…

激活函数总结(十七):激活函数补充(PELU、Phish)

激活函数总结&#xff08;十七&#xff09;&#xff1a;激活函数补充 1 引言2 激活函数2.1 Parametric Exponential Linear Unit&#xff08;PELU&#xff09;激活函数2.2 Phish激活函数 3. 总结 1 引言 在前面的文章中已经介绍了介绍了一系列激活函数 (Sigmoid、Tanh、ReLU、…

Spring Boot中使用validator如何实现接口入参自动检验

文章目录 一、背景二、使用三、举例 一、背景 在项目开发过程中&#xff0c;经常会对一些字段进行校验&#xff0c;比如字段的非空校验、字段的长度校验等&#xff0c;如果在每个需要的地方写一堆if else 会让你的代码变的冗余笨重且相对不好维护&#xff0c;如何更加规范和优…

网关认证的技术方案

我们认证授权使用springsecurity 和oauth2技术尽心实现具体实现流程见第五章文档&#xff0c;这里就是记录一下我们的技术方案 这是最开始的技术方案&#xff0c;我们通过认证为服务获取令牌然后使用令牌访问微服务&#xff0c;微服务解析令牌即可。但是缺点就是每个微服务都要…

听GPT 讲Prometheus源代码--util

Prometheus的util目录包含了一些通用的工具模块,主要包含以下文件: buckets.go 这个文件定义了一些常用的指标采样值范围(Quantile buckets),如:0.001,0.01,0.05,0.5,0.9,0.95,0.99,0.999等。这些buckets常用于计算指标的分位数线。 regex.go 这个文件定义了一些正则表达式匹配…

【在Windows下搭建Tomcat HTTP服务】

文章目录 前言1.本地Tomcat网页搭建1.1 Tomcat安装1.2 配置环境变量1.3 环境配置1.4 Tomcat运行测试1.5 Cpolar安装和注册 2.本地网页发布2.1.Cpolar云端设置2.2 Cpolar本地设置 3.公网访问测试4.结语 前言 Tomcat作为一个轻量级的服务器&#xff0c;不仅名字很有趣&#xff0…

【ArcGIS微课1000例】0071:普通最小二乘法 (OLS)回归分析案例

严重声明:本文来自专栏《ArcGIS微课1000例:从点滴到精通》,为CSDN博客专家刘一哥GIS原创,原文及专栏地址为:(https://blog.csdn.net/lucky51222/category_11121281.html),谢绝转载或爬取!!! 文章目录 一、空间自回归模型二、ArcGIS普通最小二乘法回归(OLS)一、空间自…

VMware虚拟机连不上网络

固定ip地址 进入网络配置文件 cd /etc/sysconfig/network-scripts 打开文件 vi ifcfg-ens33 编辑 BOOTPROTO设置为static&#xff0c;有3个值&#xff08;decp、none、static&#xff09; BOOTPROTO"static" 打开网络 ONBOOT"yes" 固定ip IPADDR1…