0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Git命令合集(下)

jf_78858299 来源:阿Q正砖 作者:阿Q正砖 2023-02-15 10:44 611次阅读

7、git reset

将版本库还原到历史的某个时刻的状态

git reset --hard logid(logid的前几位即可)

将版本库还原到上一次commit之前的状态

git reset --hard HEAD^

有时候,进行了错误的提交,但是还没有push到远程分支,想要撤销本次提交,可以使用git reset –-soft/hard命令。

回退到某个版本,只回退了commit的信息,代码修改过的没变。如果还要提交,直接commit即可;

git reset –-soft

彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉,即commit与修改过代码都撤销,变为原来的某个版本;

git reset -–hard

8、git config

添加版本库的用户名到本地配置文件

git config --global user.name 'username'

添加版本库的用户邮箱到本地配置文件

git config --global user.emal 'emal'

9、git diff

执行git diff来查看执行git status的结果的详细信息。

git diff命令显示已写入缓存与已修改但尚未写入缓存的改动的区别。

尚未缓存的改动:

git diff

查看已缓存的改动

git diff --cached

查看已缓存的与未缓存的所有改动

git diff HEAD

显示摘要而非整个diff

git diff --stat

举个栗子:

git status -s

git diff

git add hello.php

git status -s

git diff --cached

10、git commit

git commit -m 'test comment from w3cschool.cn'

提交缓存的流程太过繁琐,Git 也允许你用 -a 选项跳过这一步

git add

git commit -am 'changes to hello file'

表示提交的信息中带有署名信息

git commit --signoff -m 'xxx'

表示对上一次提交的信息,进行修改提交

git commit --amend 'xxx'

11、git rm

将文件从缓存区中移除

git rm

git rm hello.php

将文件从缓存区和你的硬盘中(工作目录)删除。如果要在工作目录中留着该文件

git rm file

git rm --cached

12、git log

git log 查看提交历史

git log --oneline --oneline 选项来查看历史记录的简洁的版本

git log --oneline --graph -graph 选项,查看历史中什么时候出现了分支、合并。

git log --reverse --oneline '--reverse'参数来逆向显示所有日志

git log --author=Linus --oneline -5 --author , 例如,比方说我们要找 Git 源码中 Linus 提交的部分

git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges

13、git tag

查看所有标签

git tag

-a选项意为“创建一个带注解的标签”。不用-a选项也可以执行,但它不会记录这标签是啥时候打的,谁打的,也不会让你添加标签的注解

git tag -a v1.0

git log --online --decorate --graph --decorate 时,我们可以看到我们的标签

追加标签

git tag -a v0.9 85fc7e7

git log --oneline --decorate --graph

指定标签信息命令

git tag -a -m "w3cschool.cn标签"

PGP标签命令

git tag -s -m "w3cschool.cn标签"

查看版本:

git tag

创建版本:

git tag [name]

删除版本:

git tag -d [name]

查看远程版本:

git tag -r

创建远程版本(本地版本push到远程):

git push origin [name]

删除远程版本:

git push origin :refs/tags/[name]

合并远程仓库的tag到本地:

git pull origin --tags

上传本地tag到远程仓库:

git push origin --tags

创建带注释的tag:

git tag -a [name] -m 'yourMessage'

二、Git与SVN比较

SVN是当前使用最多的版本控制工具。与它相比,Git最大的优势在于两点:易于本地增加分支和分布式的特性。

图片

1、本地增加分支

图中Git本地和服务器端结构都很灵活,所有版本都存储在一个目录中,你只需要进行分支的切换即可达到在某个分支工作的效果。

而SVN则完全不同,如果你需要在本地试验一些自己的代码,只能本地维护多个不同的拷贝,每个拷贝对应一个SVN服务器地址。

举个例子:

使用SVN作为版本控制工具,当正在试图增强一个模块,工作做到一半,由于会改变原模块的行为导致代码服务器上许多测试的失败,所以并没有提交代码。

这时候假如现在有一个很紧急的Bug需要处理, 必须在两个小时内完成。我只好将本地的所有修改diff,并输出成为一个patch文件,然后回滚有关当前任务的所有代码,再开始修改Bug的任务,等到修改好后,在将patch应用回来。前前后后要完成多个繁琐的步骤,这还不计中间代码发生冲突所要进行的工作量。

可是如果使用Git, 我们只需要开一个分支或者转回到主分支上,就可以随时开始Bug修改的任务,完成之后,只要切换到原来的分支就可以优雅的继续以前的任务。只要你愿意,每一个新的任务都可以开一个分支,完成后,再将它合并到主分支上,轻松而优雅。

2、分布式提交

Git 可以本地提交代码,所以在上面的图中,Git有利于将一个大任务分解,进行本地的多次提交;

而SVN只能在本地进行大量的一次性更改,导致将来合并到主干上造成巨大的风险。

3、日志查看

Git 的代码日志是在本地的,可以随时查看;

SVN的日志在服务器上的,每次查看日志需要先从服务器上下载下来。

例如:代码服务器在美国,当每次查看几年前所做的工作时,日志下载可能需要十分钟,这不能不说是一个痛苦。但是如果迁移到Git上,利用Git日志在本地的特性,查看某个具体任务的所有代码历史,每次只需要几秒钟,大大方便了工作,提高了效率。

当然分布式并不是说用了Git就不需要一个代码中心服务器,如果你工作在一个团队里,还是需要一个服务器来保存所有的代码的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11434

    浏览量

    212493
  • 源代码
    +关注

    关注

    96

    文章

    2949

    浏览量

    67703
  • Git
    Git
    +关注

    关注

    0

    文章

    203

    浏览量

    16066
收藏 人收藏
    相关推荐
    热点推荐

    Git常用命令总结

    在之前的文章中,我们讨论了一些初学者必备的 Git 命令。然而,这些命令仅仅触及了 Git 功能的皮毛。
    发表于 07-21 10:30 388次阅读

    Git常用的超级实用命令

    的一些Git工作流。 1 Git 常用的超级实用命令 1.1 与仓库相关的操作 克隆代码仓库到本地,开发必用 git clone 查看本地仓库配置了那些对应的远程仓库。
    的头像 发表于 10-09 17:19 1324次阅读
    <b class='flag-5'>Git</b>常用的超级实用<b class='flag-5'>命令</b>

    git命令的基本使用

    git config 第一次使用git或者刚安装的git时,使用此命令设置身份Name 和 Eamail 地址。并且每次提交时会使用此信息。
    的头像 发表于 12-11 13:53 1116次阅读

    Git命令之本地分支与远程分支关联和解除

    在实际的工作生活中,往往需要将本地的分支和远程分支关联,这样我们就可以使用git pull命令来更新拉取最新的代码,并使用git push命令将自己本地的修改推送到远程仓库。但是如果此
    的头像 发表于 12-15 09:27 3817次阅读
    <b class='flag-5'>Git</b><b class='flag-5'>命令</b>之本地分支与远程分支关联和解除

    第一本Git命令教程(六) - 日志

    。有三种 Git 命令可以帮我们查看记录,痞子衡为大家一一讲解: 1. 查看本地历史提交 git log git log 是最直接的查看历史提交的
    的头像 发表于 12-05 17:22 922次阅读

    Git 命令+原理 程序员必备的基础

    掌握Git命令是每位程序员必备的基础,之前一直是用smartGit工具,直到看到大佬们都是在用Git命令操作的,回想一,发现有些
    的头像 发表于 11-14 10:01 1883次阅读
    <b class='flag-5'>Git</b> <b class='flag-5'>命令</b>+原理 程序员必备的基础

    Git常见的误区和命令行工具等综述

    Git常见的误区和命令行工具等综述
    发表于 08-31 09:51 0次下载

    Git命令合集(上)

    Git是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:Linux、kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro)
    的头像 发表于 02-15 10:43 907次阅读
    <b class='flag-5'>Git</b><b class='flag-5'>命令</b><b class='flag-5'>合集</b>(上)

    Git高效命令的使用技巧

    今天浩道跟大家分享关于Git高效命令的硬核干货,掌握这些技巧,使你事半功倍!
    的头像 发表于 02-28 16:41 1058次阅读

    git rebase与相关git merge命令比较

    。 #概念     首先要理解的是git rebase和git merge解决了同样的问题。这两个命令都旨在将更改从一个分支集成到另一个分支 - 它们只是以不同的方式进行。试想一当你
    的头像 发表于 05-26 16:22 1188次阅读
    <b class='flag-5'>git</b> rebase与相关<b class='flag-5'>git</b> merge<b class='flag-5'>命令</b>比较

    git命令和参数

        不知道大家平时都是怎么去学习git的,要记忆那么多的命令和参数,我个人是不推荐死记硬背的,以往经验证明卷的越疯狂忘的也越快! 其实简单的理解工作原理和熟练运用少部分常用命令,日常开发问题不大
    的头像 发表于 05-31 14:22 676次阅读

    Git命令的综合手册怎么找

    若你使用 Git 时需要获取帮助,有三种等价的方法可以找到 Git 命令的综合手册(manpage): $ git help $ git -
    的头像 发表于 07-22 11:02 804次阅读

    git基本操作命令用法

    基本用法 上面的四条命令在工作目录、暂存目录(也叫做索引)和仓库之间复制文件。 git add files把当前文件放入暂存区域。 git commit给暂存区域生成快照并提交。 git
    的头像 发表于 09-13 16:29 931次阅读
    <b class='flag-5'>git</b>基本操作<b class='flag-5'>命令</b>用法

    Git中最常用的命令介绍

    git add命令用于将修改的文件添加到下一次提交的暂存区。你可以指定要添加的文件git add命令用于将修改的文件添加到下一次提交的暂存区。你可以指定要添加的文件,例如
    发表于 10-26 10:27 395次阅读
    <b class='flag-5'>Git</b>中最常用的<b class='flag-5'>命令</b>介绍

    Git命令解决常见场景记录

    不需要这些文件了,想要批量处理掉,所以记录一命令行一次性丢弃未跟踪文件的方法,同时也记录一撤销push请求的git记录。
    的头像 发表于 12-20 09:44 611次阅读
    用<b class='flag-5'>Git</b><b class='flag-5'>命令</b>解决常见场景记录

    瑞萨RA8系列教程 | 基于 RASC 生成 Keil 工程

    对于不习惯用 e2 studio 进行开发的同学,可以借助 RASC 生成 Keil 工程,然后在 Keil 环境下愉快的完成开发任务。

    RA生态工作室
    05-01 10:00
    216

    共赴之约 | 第二十七届中国北京国际科技产业博览会圆满落幕

    作为第二十七届北京科博会的参展方,芯佰微有幸与800余家全球科技同仁共赴「科技引领创享未来」之约!文章来源:北京贸促5月11日下午,第二十七届中国北京国际科技产业博览会圆满落幕。本届北京科博会主题为“科技引领创享未来”,由北京市人民政府主办,北京市贸促会,北京市科委、中关村管委会,北京市经济和信息化局,北京市知识产权局和北辰集团共同承办。5万平方米的展览云集

    芯佰微电子
    11小时前
    257

    道生物联与巍泰技术联合发布 RTK 无线定位系统:TurMass™ 技术与厘米级高精度定位的深度融合

    道生物联与巍泰技术联合推出全新一代 RTK 无线定位系统——WTS-100(V3.0 RTK)。该系统以巍泰技术自主研发的 RTK(实时动态载波相位差分)高精度定位技术为核心,深度融合道生物联国产新兴窄带高并发 TurMass™ 无线通信技术,为室外大规模定位场景提供厘米级高精度、广覆盖、高并发、低功耗、低成本的一站式解决方案,助力行业智能化升级。

    道生物联
    11小时前
    242

    智能家居中的清凉“智”选,310V无刷吊扇驱动方案--其利天下

    炎炎夏日,如何营造出清凉、舒适且节能的室内环境成为了大众关注的焦点。吊扇作为一种经典的家用电器,以其大风量、长寿命、低能耗等优势,依然是众多家庭的首选。而随着智能控制技术与无刷电机技术的不断进步,吊扇正朝着智能化、高效化、低噪化的方向发展。那么接下来小编将结合目前市面上的指标,详细为大家讲解其利天下有限公司推出的无刷吊扇驱动方案。▲其利天下无刷吊扇驱动方案一

    其利天下技术
    2天前
    639

    电源入口处防反接电路-汽车电子硬件电路设计

    一、为什么要设计防反接电路电源入口处接线及线束制作一般人为操作,有正极和负极接反的可能性,可能会损坏电源和负载电路;汽车电子产品电性能测试标准ISO16750-2的4.7节包含了电压极性反接测试,汽车电子产品须通过该项测试。二、防反接电路设计1.基础版:二极管串联二极管是最简单的防反接电路,因为电源有电源路径(即正极)和返回路径(即负极,GND),那么用二极

    张飞实战电子官方
    05-09 19:34
    737

    半导体芯片需要做哪些测试

    首先我们需要了解芯片制造环节做⼀款芯片最基本的环节是设计->流片->封装->测试,芯片成本构成⼀般为人力成本20%,流片40%,封装35%,测试5%(对于先进工艺,流片成本可能超过60%)。测试其实是芯片各个环节中最“便宜”的一步,在这个每家公司都喊着“CostDown”的激烈市场中,人力成本逐年攀升,晶圆厂和封装厂都在乙方市场中“叱咤风云”,唯独只有测试显

    汉通达
    05-09 10:02
    729

    解决方案 | 芯佰微赋能示波器:高速ADC、USB控制器和RS232芯片——高性能示波器的秘密武器!

    示波器解决方案总述:示波器是电子技术领域中不可或缺的精密测量仪器,通过直观的波形显示,将电信号随时间的变化转化为可视化图形,使复杂的电子现象变得清晰易懂。无论是在科研探索、工业检测还是通信领域,示波器都发挥着不可替代的作用,帮助工程师和技术人员深入剖析电信号的细节,精准定位问题所在,为创新与发展提供坚实的技术支撑。一、技术瓶颈亟待突破性能指标受限:受模拟前端

    芯佰微电子
    05-09 10:36
    1.5k

    硬件设计基础----运算放大器

    1什么是运算放大器运算放大器(运放)用于调节和放大模拟信号,运放是一个内含多级放大电路的集成器件,如图所示:左图为同相位,Vn端接地或稳定的电平,Vp端电平上升,则输出端Vo电平上升,Vp端电平下降,则输出端Vo电平下降;右图为反相位,Vp端接地或稳定的电平,Vn端电平上升,则输出端Vo电平下降,Vn端电平下降,则输出端Vo电平上升2运算放大器的性质理想运算

    张飞实战电子官方
    05-08 19:34
    540

    ElfBoard技术贴|如何调整eMMC存储分区

    ELF 2开发板基于瑞芯微RK3588高性能处理器设计,拥有四核ARM Cortex-A76与四核ARM Cortex-A55的CPU架构,主频高达2.4GHz,内置6TOPS算力的NPU,这一设计让它能够轻松驾驭多种深度学习框架,高效处理各类复杂的AI任务。

    ElfBoard
    05-08 15:01
    1k

    米尔基于MYD-YG2LX系统启动时间优化应用笔记

    1.概述MYD-YG2LX采用瑞萨RZ/G2L作为核心处理器,该处理器搭载双核Cortex-A55@1.2GHz+Cortex-M33@200MHz处理器,其内部集成高性能3D加速引擎Mail-G31GPU(500MHz)和视频处理单元(支持H.264硬件编解码),16位的DDR4-1600/DDR3L-1333内存控制器、千兆以太网控制器、USB、CAN、

    米尔电子
    05-08 08:07
    363

    运放技术——基本电路分析

    虚短和虚断的概念由于运放的电压放大倍数很大,一般通用型运算放大器的开环电压放大倍数都在80dB以上。而运放的输出电压是有限的,一般在10V~14V。因此运放的差模输入电压不足1mV,两输入端近似等电位,相当于“短路”。开环电压放大倍数越大,两输入端的电位越接近相等。“虚短”是指在分析运算放大器处于线性状态时,可把两输入端视为等电位,这一特性称为虚假短路,简称

    张飞实战电子官方
    05-07 19:32
    504

    飞凌嵌入式携手中移物联,谱写全国产化方案新生态

    4月22日,飞凌嵌入式“2025嵌入式及边缘AI技术论坛”在深圳成功举办。中移物联网有限公司(以下简称“中移物联”)携OneOS操作系统与飞凌嵌入式共同推出的工业级核心板亮相会议展区,操作系统产品部高级专家严镭受邀作《OneOS工业操作系统——助力国产化智能制造》主题演讲。

    飞凌嵌入式
    05-07 11:26
    1.6k

    ATA-2022B高压放大器在螺栓松动检测中的应用

    实验名称:ATA-2022B高压放大器在螺栓松动检测中的应用实验方向:超声检测实验设备:ATA-2022B高压放大器、函数信号发生器,压电陶瓷片,数据采集卡,示波器,PC等实验内容:本研究基于振动声调制的螺栓松动检测方法,其中低频泵浦波采用单频信号,而高频探测波采用扫频信号,利用泵浦波和探测波在接触面的振动声调制响应对螺栓的松动程度进行检测。通过螺栓松动检测

    Aigtek安泰电子
    05-06 18:44
    1.1k

    MOS管驱动电路——电机干扰与防护处理

    此电路分主电路(完成功能)和保护功能电路。MOS管驱动相关知识:1、跟双极性晶体管相比,一般认为使MOS管导通不需要电流,只要GS电压(Vbe类似)高于一定的值,就可以了。MOS管和晶体管向比较c,b,e—–>d(漏),g(栅),s(源)。2、NMOS的特性,Vgs大于一定的值就会导通,适合用于源极接地时的情况(低端驱动),只要栅极电压达到4V或10V就可以

    张飞实战电子官方
    05-06 19:34
    533

    压敏(MOV)在电机上的应用剖析

    一前言有刷直流电机是一种较为常见的直流电机。它的主要特点包括:1.结构相对简单,由定子、转子、电刷和换向器等组成;2.通过电刷与换向器的接触来实现电流的换向,从而使电枢绕组中的电流方向周期性改变,保证电机持续运转;3.具有调速性能较好等优点,可以通过改变电压等方式较为方便地调节转速。有刷直流电机在许多领域都有应用,比如一些电动工具、玩具、小型机械等。但它也存

    深圳市韬略科技有限公司
    05-06 11:34
    332