当前位置: 首页 > news >正文

github基础使用

前言

将用到的github指令记录下来,持续更新,方便随时查找学习。

一、github用到的指令

1、我们从github克隆下来的代码版本一般都是master主分支,我们要建立自己的分支进行修改:

//git branch  //查看目前的分支/*
* master //只要主分支
*/git branch users/cgf/feature_for_test   /#建立新的分支git checkout users/cgf/feature_for_test  //切换到新的分支git fetch   ///将代码从master分支切换到新的分支git pull    ///将代码从master分支切换到新的分支git branch //查看分支,发现有俩个分支了/*master
* users/cgf/feature_for_test
*/

2、比如在main函数里面增加一个打印,然后进行查看,将改动的代码上传到新的版本上,说一下修改了什么,最后把代码从本地分支推到远程github上。

//git status //查看修改了哪些.cpp文件/*修改:     main.cpp*/git add main.cpp  //将修改的代码保存到本地分支git commit -m "Add printing" //告诉修改了哪里git push --set-upstream origin users/cgf/feature_for_test //同步到github上

3、git log 查看刚刚的评论

git log
/*
commit 775d4ce10d3aaedf00af9b05968d5e18402a920b (HEAD -> users/cgf/feature_for_test, origin/users/cgf/feature_for_test)
Author: CGF <872980563@qq.com>
Date:   Sun Jun 16 21:29:54 2024 +0800version 1.0*/

4、删除本地分支、上传github上的分支

git checkout master  //先切换到其他分支git branch -d users/cgf/feature_for_test //删除刚刚建立的feature_for_test本地分支/*
warning: 将要删除的分支 'users/cgf/feature_for_test' 已经被合并到'refs/remotes/origin/users/cgf/feature_for_test',但未合并到 HEAD。
已删除分支 users/cgf/feature_for_test(曾为 775d4ce)。
*/git push -d origin users/cgf/feature_for_test //删除github上的分支/*
To github.com:shaoudelaochao/ImuAlignment.git- [deleted]         users/cgf/feature_for_test
*/

5、 git commit --amend:修改最新的commit评论;git push -f origin users/cgf/feature_for_test:推送到github上,如下:

/*
commit 98b9b8911c8ba453e6e5b22b43aed5966d074051 (HEAD -> users/cgf/feature_for_test_1, origin/users/cgf/feature_for_test_1)
Author: CGF <872980563@qq.com>
Date:   Sun Jun 16 22:10:24 2024 +0800version 3.0   //修改前的log日志*/git commit --amend //修改最新的commit/*
[users/cgf/feature_for_test_1 1646c5d] version 3.0 for testDate: Sun Jun 16 22:10:24 2024 +08001 file changed, 1 insertion(+), 1 deletion(-)
caiganfei@caiganfei-WEI6-14-IML:~/github_test/learngit/ImuAlignment/ImuAlignment$ git log
commit 1646c5ddfb3cb24d48e8b51f7738b16863fe3a4b (HEAD -> users/cgf/feature_for_test_1)
Author: CGF <872980563@qq.com>
Date:   Sun Jun 16 22:10:24 2024 +0800version 3.0 for test //修改后的log日志
*/git push -f origin users/cgf/feature_for_test //将修改的commit推送到github上git rebase -i HEAD~3   //将3个commit合并到一起/*
pick 4b49d4f version 1.0
s 44694b0 version 2.0 for test
s 27e3a73 version 3.0 for test# 变基 3c21492..27e3a73 到 3c21492(3 个提交)
#
# 命令:
# p, pick = 使用提交
# r, reword = 使用提交,但修改提交说明
# e, edit = 使用提交,但停止以便进行提交修补
# s, squash = 使用提交,但和前一个版本融合
# f, fixup = 类似于 "squash",但丢弃提交说明日志
# x, exec = 使用 shell 运行命令(此行剩余部分)
# d, drop = 删除提交
#
# 这些行可以被重新排序;它们会被从上至下地执行。
#
# 如果您在这里删除一行,对应的提交将会丢失。
#
# 然而,如果您删除全部内容,变基操作将会终止。
#
# 注意空提交已被注释掉*//*
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
## //将3个commit合并到一起,注意是合并到一起,仍然时3个log,不能删除其中的log,删除之后相应的代码也删除了。~~ version 1.0version 2.0 for test     合并后的commitversion 3.0 for test*/git push -f origin users/cgf/feature_for_test//改完之后同样推送到远程github上/*
commit 27e3a734fdffc62091205f78373286e33609c34d (HEAD -> users/cgf/feature_for_test_1, origin/users/cgf/feature_for_test_1)
Author: CGF <872980563@qq.com>
Date:   Sun Jun 16 22:10:24 2024 +0800version 3.0 for test   合并的前的commit
commit 44694b03db7a93c7cc4866d250d16fcbfa2d966a
Author: CGF <872980563@qq.com>
Date:   Sun Jun 16 22:09:00 2024 +0800version 2.0 for testcommit 4b49d4f3b6f2ec8ae640d545861b141b0eb171c4
Author: CGF <872980563@qq.com>
Date:   Sun Jun 16 21:29:54 2024 +0800version 1.0commit 3c21492dd15c489fe0c3e2a6a300660198260f57 (origin/master, origin/HEAD, master)
Author: shaoudelaochao <872980563@qq.com>
Date:   Wed Oct 19 23:34:38 2022 +0800imu alignment
*//*
[分离头指针 b58b9d2] version 1.0Date: Sun Jun 16 21:29:54 2024 +08001 file changed, 4 insertions(+), 1 deletion(-)
Successfully rebased and updated refs/heads/users/cgf/feature_for_test_1.
caiganfei@caiganfei-WEI6-14-IML:~/github_test/learngit/ImuAlignment/ImuAlignment$ git log
commit b58b9d24b40501c10ac1d7746628100af82cfdcc (HEAD -> users/cgf/feature_for_test_1)
Author: CGF <872980563@qq.com>
Date:   Sun Jun 16 21:29:54 2024 +0800version 1.0version 2.0 for test     合并后的commitversion 3.0 for testcommit 3c21492dd15c489fe0c3e2a6a300660198260f57 (origin/master, origin/HEAD, master)
Author: shaoudelaochao <872980563@qq.com>
Date:   Wed Oct 19 23:34:38 2022 +0800imu alignment
*/

6、保存当前改动的代码:

git stash save "test 20240616"  //将改动的代码暂时保存
/*
保存工作目录和索引状态 On users/cgf/feature_for_test_1: test 20240616
*/git stash list  //查看保存的版本/*
stash@{0}: On users/cgf/feature_for_test_1: test 20240616
*/git stash apply stash@{0}  //恢复版本```

相关文章:

github基础使用

前言 将用到的github指令记录下来&#xff0c;持续更新&#xff0c;方便随时查找学习。 一、github用到的指令 1、我们从github克隆下来的代码版本一般都是master主分支&#xff0c;我们要建立自己的分支进行修改&#xff1a; //git branch //查看目前的分支/* * master /…...

Docker使用心得

Docker使用心得 最近使用Docker比较频繁&#xff0c;特此想记录一下&#xff0c;方便后续查找。 Docker常用命令Docker如何配置使用GPU环境&#xff1f;如何使用Dockerfile构建镜像&#xff1f;如何使用docker compose 实例化容器&#xff1f; Docker如何配置使用GPU环境 参…...

QListWidget 插入 item,item显示自定义界面

代码示意&#xff1a; class ItemWidget_action_cfg_w(QWidget):... # 如下方法是在指定item下插入新的item def __do_add_item(self, item):# 获取当前item rowrow self.__list_w.indexFromItem(item).row()# 注意这里没有父类&#xff0c;解释见后面说明new_item QList…...

Python写一个ERP系统和agent智能体协同仓库和订单的案例

这是一个关于使用Python编写一个简单的ERP系统&#xff0c;并与Agent智能体协同完成仓库和订单管理的案例。在这个案例中&#xff0c;我们将使用Python的第三方库sqlite3进行数据库操作&#xff0c;以及discord库实现与Agent智能体的通信。 1. 首先&#xff0c;安装所需库&…...

【计算机网络】已解决:“‘ping‘ 不是内部或外部命令,也不是可运行的程序或批处理文件”报错

文章目录 一、问题分析背景二、可能出错的原因三、错误代码示例四、正确解决方法与示例五、注意事项 已解决“‘ping’ 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件”报错 一、问题分析背景 在Windows操作系统中&#xff0c;ping 命令是一个常用的网络诊断…...

Web前端学堂:深入探索前端开发的核心领域

Web前端学堂&#xff1a;深入探索前端开发的核心领域 在数字化时代的浪潮中&#xff0c;Web前端开发扮演着至关重要的角色。它不仅是连接用户与互联网世界的桥梁&#xff0c;更是创造丰富、互动网络体验的关键所在。本文将带领读者走进Web前端学堂&#xff0c;从四个方面、五个…...

Java数据结构与算法(0/1背包问题)

前言: 背包问题&#xff08;Knapsack Problem&#xff09;是组合优化问题中的一个经典问题&#xff0c;有多个变种。这里我们讨论的是 0/1 背包问题&#xff0c;这是最基本的一种形式。问题的描述如下&#xff1a; 给定 n 件物品&#xff0c;每件物品有一个重量 wi 和一个价值…...

LLVM 中 的 pass 及其管理机制

概述 LLVM 编译器框架的核心概念是任务调用和执行 编译器开发者将IR分解为不同的处理对象&#xff0c;并将其处理过程实现为单独的pass类型。在编译器初始化&#xff0c;pass被实例化&#xff0c;并被添加到pass管理中 pass 管理器(pass manager) 以流水线的方式将各个独立的…...

第 5 章 监控系统 | 入门案例 - 虚拟机监控

👉 本文目标:为 Linux 虚拟机/服务器安装 node_exporter,实现对虚拟机/服务器的监控。 👀 本文内容: 安装 Node Exporter,暴露 Linux 指标(比如 CPU、磁盘、IO 等)配置 Prometheus 抓取 Node Exporter 暴露的指标数据配置 Recording Rule,便于缓存/加速 Dashboard 频…...

教资认定报名照片要求小于190kb…

教资认定报名照片要求小于190kb…… 要求&#xff1a;文件小于190kb&#xff0c;宽度290-300&#xff0c;高度408-418 方法&#xff1a;vx搜随时照-教资认定 直接制作合规尺寸即可&#xff0c;还可以打印纸质版邮寄到家...

显示类控件——Calendar Widget

&#x1f40c;博主主页&#xff1a;&#x1f40c;​倔强的大蜗牛&#x1f40c;​ &#x1f4da;专栏分类&#xff1a;QT ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 一、Calendar Widget介绍核心属性重要信号代码示例: 获取选中的日期 一、Calendar Widget 介绍 …...

system与excel族函数区别

1.system #include<stdlib.h> int system(const char *command); comand是命令的路径&#xff0c;一般我们用绝对路径 system函数会创建新的进程&#xff0c;新的进程执行完返回原来的进程&#xff0c;原来的进程则继续执行后面的代码段。 如我们创建一个sys.cpp文件…...

STM32存储左右互搏 模拟U盘桥接SPI总线FATS读写FLASH W25QXX

STM32存储左右互搏 模拟U盘桥接SPI总线FATS读写FLASH W25QXX STM32的USB接口可以模拟成为U盘&#xff0c;通过FATS文件系统对连接的存储单元进行U盘方式的读写。 这里介绍STM32CUBEIDE开发平台HAL库模拟U盘桥接SPI总线FATS读写W25Q各型号FLASH的例程。 FLASH是常用的一种非易失…...

jrt从量变到质变

又是一个加班的周末&#xff0c;上周把台式机代码和数据库环境弄好了&#xff0c;这周进行大数据测试&#xff0c;直接把标本、标本医嘱、报告、报告结果、药敏结果等数据插入到1亿的规模&#xff0c;跑了一天一夜插入了5000多万个标本&#xff0c;后面接着补剩下的到一亿。 演…...

NLP主流大模型如GPT3/chatGPT/T5/PaLM/LLaMA/GLM的原理和差异有哪些-详细解读

自然语言处理&#xff08;NLP&#xff09;领域的多个大型语言模型&#xff08;如GPT-3、ChatGPT、T5、PaLM、LLaMA和GLM&#xff09;在结构和功能上有显著差异。以下是对这些模型的原理和差异的深入分析&#xff1a; GPT-3 (Generative Pre-trained Transformer 3) 虽然GPT-4…...

从MySQL到NoSQL:分析传统关系型数据库与NoSQL数据库的协同

引言 数据库是一个系统,用来管理和存储数据的地方。数据在数据库中以一种结构化的方式组织,这样能更容易地查询和处理数据。 关系型数据库是基于关系模型的数据库,它将数据存储在不同的表中,每个表都有各自的独一无二的主键。表与表之间通过共享的数据项相互关联。像MySQ…...

三、树和割集

文章目录 1、树1.1 树的定义1.2 树的性质1.3 极小连通图1.4 树的中心1.5 生成树1.5.1 最小生成树 2、 割点和桥THE END 1、树 1.1 树的定义 \qquad 定义&#xff1a; 一个连通的无圈的图称为树。 \qquad 只有一个顶点的树叫做平凡树。 \qquad 树中度为1的节点称为叶子结点。…...

泛型中<>和()中的类型

尖括号 < > 中的类型参数定义了一组可以被替换的类型占位符&#xff0c;而圆括号 (...) 内的类型使用则是这些类型参数的具体应用场景&#xff0c;展示了这些类型变量如何参与到函数的参数和返回值类型定义中去。这样设计既保证了代码的灵活性&#xff0c;又保持了类型安…...

spark mllib 特征学习笔记 (一)

PySpark MLlib 特征处理详解 PySpark MLlib 提供了丰富的特征处理工具&#xff0c;帮助我们进行特征提取、转换和选择。以下是 PySpark MLlib 中常用的特征处理类及其简要介绍。 1. Binarizer Binarizer 是将连续特征二值化的转换器。 from pyspark.ml.feature import Bina…...

SQLite 日期 时间

SQLite 日期 & 时间 SQLite 是一种轻量级的数据库管理系统&#xff0c;广泛用于各种应用程序中。它支持标准的 SQL 语法&#xff0c;包括对日期和时间的处理。在 SQLite 中&#xff0c;日期和时间可以通过几种不同的方式来存储和操作。 日期和时间数据类型 SQLite 使用 …...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...