2、git进阶操作

2、git进阶操作

2.1.1 分支的创建

命令参数含义
git branch (git checkout -b)<new_branch> <old_branch>表示创建分支
-d <-D>删除分支 –d如果分支没有合并,git会提醒,-D强制删除
-a -v查看分支
-m重新命名分支
commit id从指定的commit id签出代码 git branch branch_name commit id
$ git push origin branch_name将本地分支推到远程
$ git push origin branch_name --delete 将远程分支删除
### 2.1.2 分支的合并
命令参数含义
git merge<branch_name>需要合并的分支
--abort终止合并,并回复文件
--continue继续合并
### 2.1.3 git rebase
命令参数含义
git rebase<branch_1> <branch_2>将branch_1上面的移动到branch_2
--abort终止rebase
--continue继续rebase
-i进入交互模式

2.2 git reset/revert/checkout撤销操作

命令参数含义
git reset--soft commit_id撤销到某个commit,不修改工作区和索引区内容
--mixed commit_id 撤销到某个commit,不修改工作区,修改索引区内容
--hard commit_id撤销到某个commit,并重置工作区和索引区内容
HEAD file_name撤销索引区指定的file_name
git revertcommit_id只撤销某个commit
git checkout-- . 撤销工作区所有文件

2.3 git remote远程服务器操作

创建仓库
git clone --bare DataStruct-Algorithm /F/datastruct-algorithm.git
git init --bare DataStruct_algorithm.git
命令参数含义
git remote-v查看详细的信息
show server_name查看主机的详细信息
add server_name web_site添加主机
rm server_name删除主机
rename old_server_name new_ server_name修改主机名

2.4 git log高级用法

命令参数含义
git log-n表示查看最近提交的n条记录
--graph显示当前分支提交记录以图形方式展示,后面—all 表示所有的分支
--date=short查看提交的时间
-p表示提交文件的修改了那些内容
file_name表示查看file_name文件的提交记录
commit_id..commit_id查看两个commit id之间的提交记录
--since=<date>自date以来的记录
--before=<date>表达date之前的记录
--after=<date>表示date之后的记录
--until=<date>表达直到date之后的记录
$ git log --since="2019-07-11" --until="2019-07-16" --date=short\n 表示2019-07-11~2019-07-16(不包括16号)之间提交的记录
--grep=<contents>根据提交的message内容进行匹配
--author=”author_name”根据作者名来搜索
--skip=n跳过前面的n条记录
--stat显示提交的文件
--left-right branch1…branch2比较两个分支的commit差异
命令参数含义
git reflog show查看当前分支的记录
--all查看所有分支的记录
在找到commit id之后可以使用cherry-pick branch等命令 reflog有个特点就是它只存在本地记录里面,并不会上传到服务器上

2.5 git diff/show查看提交详情

2.5.1 diff
命令参数含义
git diff不加参数尚未缓存的修改(还未执行add命令)
--cached已经缓存的修改
<branch_name1> <branch_name2> [file_name]比较两个分支file_name的差异
commit_id commit_id比较两个commit id 区别
3.5.2 show
命令参数含义
git show<commit_id>显示commit id提交修改的内容
<commit_id> <file_name>查看commit id 中对应的file_name修改内容
<tag_name>查看tag信息
### 2.6 git tag操作
命令参数含义
git tag-m注释信息
-f强制覆盖
-d删除
-l列出所有的tag
-n列出详细信息
$ git tag v2.0.0.0 –m “new version v2.0.0.0” $ git ls-remote --tags <server_name>查看远程tag $ git fetch <server_name> <tag_name> 拉取远程tag $ git push --delete <server_name> <tag_name> 删除远程的tag

注意在checkout tag的时候,如果我们在当前的tag上做了提交,就会造成一个游离的HEAD现象,这是个非常危险的操作,有可能会造成你的commit丢失问题。

2.7 git stash操作

stash的查看,增加,删除,对比,应用

命令参数含义
git stashsave [message]保存stash,并且有注释信息
show [stash] -p查看某个stash的详细信息
drop [stash]删除某个stash
pop将当前的第一个stash应用到当前的分支上
apply [stash]应用指定的stash,并且保存stash不变化
clear清空stash
list查看所有的stash

2.8 git blame操作

命令参数含义
git blame file_name查看这个文件都有谁提交的
file_name -L num1:num2查看这个文件从num1行到num2行都有谁提交的
file_name –L:function_name查看这个文件里面函数最后一次谁修改过
--colors-lines显示颜色标记
这个命令有时候可以结合grep使用,主要是为了精确查找信息
### 2.9 git patch 操作
1.先生成patch文件
$ git format-patch start_commit_id..end_commit_id
$ git format-patch –n3
2.可以事先检测在合并的时候是否存在冲突
$ git apply --check patch_file
3.合并patch文件
$ git am patch_file
4.撤销patch
$ git apply –R patch_file

2.10 git submodule管理大型项目的利剑

$ git init –bare test_submodule.git
$ git submodule add git@github.com:MingYueRuYa/cpp_inside_object.git
$ git submodule add git@github.com:MingYueRuYa/cpp_study.git
$ git commit –m “add submodule”
$ git push
拉取远程分支
$ git clone git@github.com:MingYueRuYa/test_submodule.git
$ git submodule init
$ git submodule update (git submodule update –init 将上面的两步合起来)
$ git submodule foreach git pull
$ git submodule foreach git submodule update
$ git rm -rf submodule_name (删除submodule)

在这里插入图片描述

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

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

相关文章

如何打造“面向体验”的音视频能力——对话火山引擎王悦

编者按&#xff1a;随着全行业视频化的演进&#xff0c;我们置身于一个充满创新与变革的时代。在这个数字化的浪潮中&#xff0c;视频已经不再只是传递信息的媒介&#xff0c;更是重塑了我们的交互方式和体验感知。作为字节跳动的“能力溢出”&#xff0c;火山引擎正在飞速奔跑…

【React】路径别名配置

路径解析配置&#xff08;webpack&#xff09;&#xff0c;把 / 解析为 src/路径联想配置&#xff08;VsCode&#xff09;&#xff0c;VSCode 在输入 / 时&#xff0c;自动联想出来对应的 src/下的子级目录 1. 路径解析配置 安装craco npm i -D craco/craco项目根目录下创建配…

RK3588平台 USB框架与USB识别流程

一.USB的基本概念 在最初的标准里&#xff0c;USB接头有4条线&#xff1a;电源&#xff0c;D-,D,地线。我们暂且把这样的叫做标准的USB接头吧。后来OTG出现了&#xff0c;又增加了miniUSB接头。而miniUSB接头则有5条线&#xff0c;多了一条ID线,用来标识身份用的。 热插拔&am…

9. Mysql 模糊查询和正则表达式

一、模糊查询 1.1 LIKE运算符 在MySQL中&#xff0c;可以使用LIKE运算符进行模糊查询。LIKE运算符用于匹配字符串模式&#xff0c;其中可以使用通配符来表示任意字符或字符序列。 示例代码 SELECT * FROM table_name WHERE column_name LIKE pattern;table_name&#xff1a…

最新AIGC创作系统ChatGPT网站源码,Midjourney绘画系统,支持GPT-4图片对话能力(上传图片并识图理解对话),支持DALL-E3文生图

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

2023亚太杯数学建模B题完整原创论文讲解

大家好呀&#xff0c;从发布赛题一直到现在&#xff0c;总算完成了2023亚太地区数学建模竞赛B题玻璃温室的微气候调控完整的成品论文。 本论文可以保证原创&#xff0c;保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。 论文共6…

第4章 C++多线程系统编程精要

第4章 C多线程系统编程精要 4.1 引言 学习多线程编程面临的最大的思维方式的转变有以下两点&#xff1a; 当前线程可能随时会被切换出去&#xff0c;或者说被抢占&#xff08;preempt&#xff09;了多线程程序中事件的发生顺序不再有全局统一的先后关系 多线程程序的正确性…

软著项目推荐 深度学习 opencv python 实现中国交通标志识别

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 &#x1f525; 优质…

游览器缓存讲解

浏览器缓存是指浏览器在本地存储已经请求过的资源的一种机制&#xff0c;以便在将来的请求中能够更快地获取这些资源&#xff0c;减少对服务器的请求&#xff0c;提高页面加载速度。浏览器缓存主要涉及到两个方面&#xff1a;缓存控制和缓存位置。 缓存控制 Expires 头&#…

Javascript每天一道算法题(十六)——获取除自身以外数组的乘积_中等

文章目录 1、问题2、示例3、解决方法&#xff08;1&#xff09;方法1 总结 1、问题 给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀…

RAM模型从数据准备到pretrain、finetune与推理全过程详细说明

提示&#xff1a;RAM模型&#xff1a;环境安装、数据准备与说明、模型推理、模型finetune、模型pretrain等 文章目录 前言一、环境安装二、数据准备与解读1.数据下载2.数据标签内容解读3.标签map内容解读 三、finetune训练1.微调训练命令2.load载入参数问题3.权重载入4.数据加载…

使用new Vue()的时候发生了什么?

前言 Vue.js是一个流行的JavaScript前端框架&#xff0c;用于构建单页面应用&#xff08;SPA&#xff09;和用户界面。当我们使用new Vue()来创建一个Vue实例时&#xff0c;Vue会执行一系列的初始化过程&#xff0c;将数据变成响应式&#xff0c;编译模板&#xff0c;挂载实例…

RabbitMQ之发送者(生产者)可靠性

文章目录 前言一、生产者重试机制二、生产者确认机制实现生产者确认&#xff08;1&#xff09;定义ReturnCallback&#xff08;2&#xff09;定义ConfirmCallback 总结 前言 生产者重试机制、生产者确认机制。 一、生产者重试机制 问题&#xff1a;生产者发送消息时&#xff0…

分布式事务总结

文章目录 一、分布式事务基础什么是事务&#xff1f;本地事物分布式事务分布式事务的场景 二、分布式事务解决方案全局事务可靠消息服务TCC 事务 三、Seata 分布式事务解决方案3.1 Seata-At模式3.2 秒杀项目集成 Seata启动 Seata-Server项目集成seata配置AT模式代码实现 3.3 Se…

openstack(2)

目录 块存储服务 安装并配置控制节点 安装并配置一个存储节点 验证操作 封装镜像 上传镜像 块存储服务 安装并配置控制节点 创建数据库 [rootcontroller ~]# mysql -u root -pshg12345 MariaDB [(none)]> CREATE DATABASE cinder; MariaDB [(none)]> GRANT ALL PR…

1、Docker概述与安装

相关资源网站&#xff1a; ● docker官网&#xff1a;http://www.docker.com ● Docker Hub仓库官网: https://hub.docker.com/ 注意&#xff0c;如果只是想看Docker的安装&#xff0c;可以直接往下拉跳转到Docker架构与安装章节下的Docker具体安装步骤&#xff0c;一步步带你安…

82基于matlab GUI的图像处理

基于matlab GUI的图像处理&#xff0c;功能包括图像一般处理&#xff08;灰度图像、二值图&#xff09;&#xff1b;图像几何变换&#xff08;旋转可输入旋转角度、平移、镜像&#xff09;、图像边缘检测&#xff08;拉普拉斯算子、sobel算子、wallis算子、roberts算子&#xf…

【Rust日报】2023-11-22 Floneum -- 基于 Rust 的一款用于 AI 工作流程的图形编辑器

Floneum -- 基于 Rust 的一款用于 AI 工作流程的图形编辑器 Floneum 是一款用于 AI 工作流程的图形编辑器&#xff0c;专注于社区制作的插件、本地 AI 和安全性。 Floneum 有哪些特性&#xff1a; 可视化界面&#xff1a;您无需任何编程知识即可使用Floneum。可视化图形编辑器可…

oled的使用 动态的变量 51

源码均在IIC手写程序中 外部中断实现变量加一 #include "reg52.h" #include "main.h" #include <intrins.h> #include "OLED.h" #include "bmp.h" #include "Delay.h" sbit LED1 P1^0; sbit LED2 P1^1; sbit LED3…

【LeetCode每日一题】525. 连续数组

题目&#xff1a; 给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组&#xff0c;并返回该子数组的长度。 妈的 连题目都没有读懂&#xff01;本来看成是找到两个连续子数组&#xff0c;两个连续子数组的 0 1 个数分别相同&#xff0c;我说怎么看着如此…