#Git使用篇:常用命令

news2024/12/23 20:59:46

规范

​ 本地开发分支:feature-任务编号或需求名 本地环境验证后,合并到develop分支,验证成功待大版本发版后可定期清理feature分支 开发环境分支:develop 开发环境验证完后,可合并到test分支 测试环境分支:test

gitlab拉取代码的流程/分支的管理

  1. git checkout -b develop -t remotes/origin/develop —本地操作(拉取远程最新的分支)

  2. git checkout develop/ git pull —本地操作(拉取最新代码)

  3. git checkout -b feature-xxx-bug --本地操作(切换本次需要修改的代码)

  4. git push origin feature-xxx-bug —本地操作(推送到远端)

  5. fetature-lwc-bug 合到 develop — 网页操作

  6. develop 合到 test —网页操作

  7. 发版 — 网页操作

  8. git branch -d feature-xxx-bug —本地操作(删除本地分支)

  9. git push origin --delete feature-xxx-bug --本地操作/网页操作(删除远程分支)

config

// 查看用户名和邮箱地址
git config user.name
git config user.email

//修改用户名和邮箱地址
git config --global user.name "username"
git config --global user.email "email"
// 版本
git --version

提交流程

// 拉取
git pull

// 状态
git status

// 添加
git add .

// 提交
git commit -m "备注"

// 推送
git push

branch

// 分支源追踪
git branch --set-upstream-to=origin/develop

// 查看分支源
git branch -vv

// 删除本地分支localBranchName
git branch -d localBranchName

// 删除当前分支外的所有分支:
git branch | xargs git branch \-d

// 执行结果: 找出所有分支中,名称含有"dev"的分支,然后删除。
git branch | grep  "dev" | xargs git branch -d

// 删除分支名包含指定'dev'的分支:
git branch | grep 'dev\*' | xargs git branch \-d

// 列出本地分支
git branch

// 列出远端分支
git branch -r

// 列出本地远端所有分支
git branch -a

// 修改本地分支
git branch -m oldBranch newBranch

push

// 删除远程分支
git push origin --delete remoteBranchName

// 推送新的仓库到远程仓库
git push origin newBranch

checkout

// 切换分支
git checkout develop

// 拉取远程分支到本地 git checkout -b dev(本地分支名称) origin/develop(远程分支名称)
git checkout -b dev-name origin/develop

// 拉取远程分支并切换分支
git checkout -t remotes/origin/develop

// 拉取远程分支并切换分支---重新起名字
git checkout -b alise-develop  -t remotes/origin/develop

// 放弃所有内容修改
git checkout .

// 恢复所有暂存文件 (解决  git stash save "message" -a) 
git checkout stash@{0} -- .

reset

//  删除工作空间改动代码,撤销commit,撤销git add . 
// 注意完成这个操作后,会删除工作空间代码!!!恢复到上一次的commit状态。慎重!!!
git reset --hard "45b2f6fabc14d254db8e39a9bd689761de2ca8cd"

// 不删除工作空间改动代码,撤销commit,不撤销git add . 
git reset --soft xxxx

// 意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
// 这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
git reset --mixed xxxx

pull

// 拉取远程代码从远程拉取最新版本到本地 自动合并 merge
git pull origin develop

log

// 美化输出log 
git log --oneline  

// -p按补丁格式显示每个提交引入的差异
git log -p 文件路径

// 查看修改了哪些文件
git log --stat

reflog

// git reflog 可以查看所有分支的所有操作记录(包括(包括commit和reset的操作),包括已经被删除的commit记录,git log则不能察看已经删除了的commit记录,而且跟进结果可以回退道某一个修改
git reflog

stash

// 存储跟踪和未跟踪
git stash save "message" -a -u

// 暂存在本地
git stash save "local"

// 查看stash了哪些存储
git stash list

// 显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
git stash show stash@{1}

// 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p
git stash show  stash@{1} -p

// 应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1} 
git stash apply stash@{1} 

// 命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
git stash pop stash@{1}

// 丢弃stash@{$num}存储,从列表中删除这个存储
git stash drop stash@{$num}

// 删除所有缓存的stash
git stash clear 

cherry-pick

当某次修改的小需求更新到生产分支时,该操作比merge更加安全和灵活

// 在当前开发分支执行 git log ,获取到某次提交操作的 *commit id*,并复制该ID 切换到其它分支 git checkout xxx
git cherry-pick commit _d

diff

// 查看temp分支与本地原有分支的不同
git diff temp

merge

// 将temp分支和本地master分支合并
git merge temp

// `--commit`和`--no-commit`
`--commit`参数使得合并后产生一个合并结果的commit节点。该参数可以覆盖`--no-commit``--no-commit`参数使得合并后,为了防止合并失败并不自动提交,能够给使用者一个机会在提交前审视和修改合并结果。

remote

// 查看关于origin的一些信息,包括分支是否tracking
git remote show origin

// git remote prune会与远程仓库进行一次同步移除这个分支
git remote prune origin 

commit

// 按i 修改git commit - m "xxxxxx" 的注释,点击ESC进入“正常模式”,然后输入“:”,进入“命令模式”。此时屏幕的下方会出现一个冒号,你可以输入以下命令,并按“ENTER”执行
git commit --amend

tag

// 当前仓库的所有tag
git tag  

// 显示tag
git tag  -n 

// 创建tag带有说明信息
git tag -a v0.0.1 -m "提交信息" 

// 切换tag
git checkout v0.0.1 

// 删除tag
git tag -d v0.0.1 

// 查看某个tag信息
git show v0.0.1 

// 推送某一tag到远程仓库
git push origin v0.0.1 

// 一次推送多个标签
git push origin --tags 

// 删除远端tag:本地删除后,再删除远端tag(推送一个空的tag到远端tag,用空值覆盖原值)
git push origin :refs/tags/V20210310 

// --delete 参数
git push origin --delete tag V20210310

更多git

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

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

相关文章

【C++基础】07:多态

多态 OVERVIEW多态一、多态1.基本概念:2.E1-计算器类3.纯虚函数&抽象类:4.E2-制作饮品5.虚析构&纯虚析构:6.E3-电脑组装二、运算符重载1.加号运算符重载:2.左移>>运算符重载:3.递增运算符重载&#xff1…

数据结构课设-小老鼠走迷宫(JAVA版)

学校题目: 题目内容: 程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的右下方有一个粮仓。游戏的任务是使用键盘上的方向健操纵老鼠在规定的时间内走到粮仓处。 基本要求: ⑴老鼠形象可以辨认,可用键盘操纵老鼠上下…

小米万兆路由器里的Docker安装可道云(Kodexplorer)私有网盘

小米2022年12月份发布了万兆路由器,里面可以使用Docker。 今天尝试在小米的万兆路由器里安装可道云(Kodexplorer)私有网盘。 准备工作 先将一块USB外接硬盘格式化为ext4格式,然后外接到小米路由器上, 然后创建虚拟内存,我这里最…

Vectornet源码详解

代码资源地址见最后 1.数据与环境配置 首先,我们需要下载这个API,方便对数据做特征工程,目前这个api还不支持windows版本 https://github.com/argoverse/argoverse-api 按照上面的步骤所说,第一步需要下载这个项目,第二步需要下载一些配置文件,并按照上述方…

Linux 信号处理简析

1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。 2. 分析背景 本文基于 ARM32 架构 Linux 4.14 内核源码进行分析。 3. 信号概述 3.1 信号分类 信号这个概念,起始于 UNIX 操作系统&…

4、程序计数器PC

介绍 JVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。这里,并非是广义上所指的物理寄存器,或许…

XINDOO的2022年年终总结

已经好几个月没有认认真真写一篇博客了,借着年底静下心来认认真真写一篇年终总结,这也是我人生中第10篇的年终总结了。 先看下去年立的flag,不用想去年立的flag一个都没完成。首先1 算是勉强及格;2 redis的博客一篇没写&#xff1…

前端学习第二站——JavaScript

目录 1. 简介 2. 变量与数据类型 2.1 声明变量 2.2 基本类型 2.3 对象类型 2.3.1 函数 Function ​ 2.3.2 数组Array 2.3.3 对象 Object ⭐️⭐️ 3. 运算符和表达式 1) 2) || 4) ... 5) [] {} 4. 控制语句 1) for in 2) for of 3) try catch 1. 简介 JavaScr…

移动应用安全过去及未来发展情况思考汇总

声明 本文是学习移动安全总结 2019. 下载地址而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 序言 随着2019年的逝去,二十一世纪第二个十年也已随之结束。回顾过去的十年,我们的生活随着科技的进步发生了翻天覆地的变化&#x…

MySQL索引最佳实践及Explain详解

一、Explain工具介绍 使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL …

leetcode 169. 多数元素-java题解

题目所属分类 超经典问题 可以选用投票法 原题链接 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 代码案例:输入…

java 瑞吉外卖优化day2 读写分离 ShardingJDBC

问题分析: mysql主从复制 介绍: 补充:从库可以有多个 提前准备好两台服务器,分别安装Mysql并启动服务成功 主库Master 192.168.138.100 从库Slave 192.168.138.101 Window系统则是在my.ini文件里直接配置 mysql -uroot -…

Day 16-Vue3 技术_新的组件

1.Fragment —— 片段组件 在Vue2中: 组件必须有一个根标签。 在Vue3中: 组件可以没有根标签, 内部会将多个标签包含在一个内置Fragment虚拟元素中&#xff0c; 最后是不参与页面渲染的&#xff01; 好处: 减少标签层级, 减小内存占用。 <template><fragment>…

UART实验

目录 一、UART 1.1简介 1.2并行通信和串行通信 1.3单工和双工 1.4波特率 1.5UART帧格式 1.6UART硬件连接 1.7UART控制器 二、Exynos4412的UART控制器 三、UART寄存器 四、UART编程 五、输入输出重定向 六、使用串口控制LED 一、UART 1.1简介 Universal Asynch…

Elasticsearch学习

基本概念 运维角度物理概念 分片&#xff08;shard&#xff09;&#xff1a;一个索引所占用的物理空间分配 primary shard&#xff1a;解决数据水平扩展问题&#xff0c;分片数据量过大时&#xff0c;可以通过增加DataNode节点扩容。一个主分片等于一个lucene实例。创建索引时…

windows认证之本地认证

windows认证包括本地认证、网络认证和域认证三个部分windows认证和密码的抓取可以说是内网渗透的第一步。 1、window认证流程 Windows的登陆密码是储存在系统本地的SAM文件中的&#xff0c;在登陆Windows的时候&#xff0c;系统会将用户输入的密码与 SAM文件中的密码进行对比&…

JavaScript基础系列之引用类型细节总结

1. 前言 这里不罗列 API&#xff0c;如果需要 API 可以自行查询。只会强调一些不起眼但是很重要的细节问题 2. Object 2.1 生成对象几种方式&#xff1a; 曾经被面试过哦&#xff0c; 虽然很基础&#xff0c;但是划重&#xff01;&#xff01;&#xff01; const obj new Obj…

【机器学习】线性回归(理论)

线性回归&#xff08;理论&#xff09; 目录一、概论1、何为线性回归2、问题的抽象3、误差的引入4、极大似然估计的引入5、目标函数的优化二、梯度下降1、何为梯度下降2、利用梯度下降进行函数寻优3、梯度下降的一些问题Ⅰ 迭代步长Ⅱ 算法的初始位置Ⅲ 数据的取值范围差异Ⅳ 鞍…

i.MX8MP平台开发分享(IOMUX篇)- uboot驱动

专栏目录:专栏目录传送门 平台内核i.MX8MP5.15.71文章目录 1. pinfunc.h2.iomux驱动3.pinctrl_select_state_full4.imx_pinctrl_set_state1. pinfunc.h pinfunc.h中定义了所有的引脚,命名方式是MX8MP_IOMUXC___,例如下面的MX8MP_IOMUXC_GPIO1_IO00__GPIO1_IO00定义了MUX寄存…

网络信息安全-LSB图像隐写与检测的设计实现

任务目标&#xff1a; 本选题需要学习经典的图像信息隐藏算法&#xff0c;包括基于空域的隐写算法和数字水印算法。 接着你将使用某种编程语言实现这些算法&#xff0c;实现在图片中嵌入一些信息&#xff0c;例如字符串和一些 文件。除此之外&#xff0c;还需要尝试一些基础的…