git常用命令及概念对比

查看日志

git config --list 查看git的配置

git status 查看暂存区和工作区的变化内容(查看工作区和暂存区有哪些修改)

git log 查看当前分支的commit 记录

git log -p commitID详细查看commitID的具体内容

git log -L :funcName:fileName 查看fileName文件中funcName函数的修改历史

git log --pretty=oneline 简易的查看commit 记录(直接用git log --oneline更方便一些)

git log --graph --pretty=oneline --abbrev-commit 查看分支合并图

git diff file.txt 比较工作区和暂存区内file.txt 的区别

git diff HEAD -- file.txt 比较查看版本库和工作区中的file.txt的区别

git diff --cached file.txt 比较暂存区和本地仓库

git reflog 用在回退时的场景, 当发生版本回退时,git log只能看到HEAD指针的祖先。而git reflog可以看到左右commit 记录

git show commitID 查看commitID这次提交的详细内容

本地仓库

git add file.txt 添加文件file.txt到暂存区 (也可以用git add . 将当前文件夹中所有修改都添加到暂存区)

git commit -m "xxx" 提交暂存区的内容到本地仓库 ,并添加评论"xxx", m是message的缩写

git commit --amend 上一次commit 被reviewer拒了后,做出修改后提交,要加--amend 参数

拉取远程仓库内容

git pull 用远程分支更新本地分支内容(类似于SVN中的update操作)

git pull origin master:dev 将远程库origin中的master 分支内容,更新到本地的dev分支上(如果是使用git pull origin master, 是将远程库origin中的master 分支内容,更新到当前分支上)

git clone与git pull的区别:git clone是复制一个远程库到本地,生成一个本地仓库。git pull是拉取远程库中的分支,合并到本地库中,git pull = git fetch +git merge

推送

git push -u origin master 将本地的当前分支master推送到远程(将本地库的内容推送到远程)(第一次运行,由于远程库是空的,要加-u参数,后续不用加该参数)

git push origin master 将本地的master分支推送到origin主机的master分支。如果master不存在,则会被新建。

git push origin v1.0 将v1.0这个标签推送到远程

git push origin --tags 将本地的标签一次性全部推送到远程

git push origin :ref/tags/v0.9 删除远程上的标签v0.9

git clone git@github.com:someoneAccount/repoName 克隆远程库repoName到本地

分支

git branch 查看本地所有分支

git branch -a 查看远程和本地的所有分支

git branch -d dev 删除dev分支

git branch -D 分支名 用-D参数来删除一个没有被合并过的分支

git checkout -- file.txt 用暂存区内的file.txt替换到工作区内的file.txt(如果暂存区是空的,就用版本库中file.txt替换掉工作区的file.txt)

git checkout xxx 切换到xxx分支

git checkout -b dev 创建一个新分支dev,并切换到该分支(该命令相当于两个命令:git branch dev和git checkout dev)

存贮

git stash 将当前分支的工作现场储藏起来,等以后回复现场后继续工作

git stash list查看当前分支保存起来的工作现场

git stash pop 恢复工作现场(相当于两个命令:git stash apply 和git stash drop)

git stash apply stash@{0} 恢复0号工作现场

git clean 清除untracked files

标签

git tag v1.0 给当前分支打上标签v1.0

git tag 查看所有标签

git tag v1.0 commitId 给commitId这个提交打上标签v1.0

git show v1.0 查看v1.0这个标签内容

git tag -d v0.1 删除v0.1这个本地的标签

合并

git rebase master

将当前分支的修改,在master分支上重新实现一下(rebase叫做变基, 就是把当前分子的根基改变一下)

git rebase master

git merge master

将master分支合并到当前分支,合并的步骤是将master 的多次提交合并成一次新的提交,然后再将这个新的提交实现在当前分支上。

git merge master

git merge dev 将dev分支合并到当前分支

git merge --no-ff -m "comments xxxx" dev 以no-ff的形式合并dev分支到当前分支

759365b8544a497c8f424c2dee85e29d.png

复制一个特定的提交到当前分支

用途:修复bug用:在某一个分支上已经修复了bug,将该提交内容commitId应用到当前的分支

git cherry-pick commitId

撤销操作

git restore

git restore --staged file 撤销git add操作,就是把文件从缓存区移动到工作区.(针对暂存区的操作)

git rm

git rm file.txt 然后git commit 从版本库中删除file.txt(本地工作区内删除,直接用rm file.txt即可)

git reset

回滚到对应的commit-id,相当于是删除了commit-id以后的所有的提交,并且不会产生新的commit-id记录,如果要推送到远程服务器的话,需要强制推送-f

git reset HEAD file.txt 清空暂存区(适用情况:写了一些胡话,已经提交到暂存区,要撤销), 其实是拉去本地仓库中最近一次提交(HEAD指针指向)到暂存区,工作区内容没有改变。

git reset --hard HEAD^ 回退到上一个版本(撤销git commit,同时也撤销git add和 工作区内容)

git reset --soft HEAD^ 撤销git commit,但不撤销git add (工作区内容依旧保持)

git revert

是反做撤销其中的commit-id,然后重新生成一个commit-id。本身不会对其他的提交commit-id产生影响,如果要推送到远程服务器的话,就是普通的操作git push就好了

git revert commit_id

更换仓库

git remote -v 查看远程库信息(也可以用git remote 查看简易的远程库信息)

git remote rm origin 删除远程库

git remote add origin git@github.com:yourAccount/repoName 将远程仓库repoName与本地仓库相关联,并将远程仓库命名为origin

 

 

 

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

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

相关文章

Springboot注解@EnableConfigurationProperties和@ConfigurationProperties关系和作用

目录 EnableConfigurationProperties和ConfigurationProperties关系是什么? 简介 ConfigurationProperties EnableConfigurationProperties 二者之间的联系 总结 EnableConfigurationProperties和ConfigurationProperties关系是什么? 其实我能明白…

利用矩阵特征值解决微分方程【1】

目录 一. 特征值介绍 二. 单变量常微分方程 三. 利用矩阵解决微分方程问题 四. 小结 4.1 矩阵论 4.2 特征值与特征向量内涵 4.3 应用 一. 特征值介绍 线性代数有两大基础问题: 如果A为对角阵的话,那么问题就很好解决。需要注意的是,矩…

Springboot药物不良反应智能监测系统源码

一、系统简介 ADR指的是药品不良反应,即在合格药品在正常用法用量下,出现与用药目的无关或意外的有害反应。ADR数据辨别引擎、药品ADR信号主动监测引擎、ADR处置行为分析引擎。ADR数据辨别引擎,通过主动监测患者具象临床指标,比如…

西门子S7-1200直接连接MySQL数据库

最近项目上有个需求,要把采集的数据存储到数据库中,当前西门子有很多方法,必读IDB,还有通过WINCC的脚本,第三方的软件等等,但是随着发展,有些需求希望设备直接到数据库,比如云端的RD…

恼人的“龙天“(䶮)--谈谈从GBK转到GB18030的特殊情况

背景 最近在做一个去O迁移适配,刚好也有友商在一起做,两边测试方式不一样。友商先遇到了一个问题,就是在ORACLE中某个的2字节GBK字符到迁移到友商的库中变成了4字节,刚好那个字段在这个字是2字节的时候,已经存满了&am…

国产六核CPU商显板,三屏异显,米尔基于全志D9360开发板

芯驰D9-Pro 自主可控、安全可信的高性能商显方案 采用国产CPU:集成了6个ARM Cortex-A551.6GHz 高性能CPU和1个ARM Cortex-R5800MHz; 高性能的高安全HSM安全的处理器,支持TRNG、AES、RSA、SHA、SM2/3/4/9; 它包含100GFLOPS 3D G…

屏幕截图编辑工具Snagit中文

Snagit是一款优秀的屏幕、文本和视频捕获与转换程序。它能够捕获屏幕、窗口、客户区窗口、最后一个激活的窗口或用鼠标定义的区域,并支持BMP、PCX、TIF、GIF或JPEG格式的保存。Snagit还具有自动缩放、颜色减少、单色转换、抖动等功能,并能将捕获的图像转…

[windows]一种判断exe是32位还是64位程序简单方法

不用运行,直接查看 exe 文件的兼容性属性。 如果是 32 位的程序,“简化的颜色模式”和“用 640x480 屏幕分辨率运行”是可以勾选的,且兼容模式最低可以调到 Windows 95。 而 64 位的程序,“简化的颜色模式”和“用 640 x 480 屏…

热过载继电器 WJJL1-05/2X AC220V 0.5A-5A 导轨安装 JOSEF约瑟

系列型号 WJJL1-10D/1过载保护器;WJJL1-50D/1过载保护器; WJJL1-100D/1过载保护器;WJJL1-300D/1过载保护器; WJJL1-600D/1过载保护器;WJJL1-1000D/1过载保护器; WJJL1-2000D/1过载保护器;WJ…

❤ Vue3 完整项目太白搭建 Vue3+Pinia+Vant3/ElementPlus+typerscript(一)yarn 版本控制 ltb (太白)

❤ 项目搭建 一、项目信息 Vue3 完整项目搭建 Vue3PiniaVant3/ElementPlustyperscript&#xff08;一&#xff09;yarn 版本控制 项目地址&#xff1a; 二、项目搭建 &#xff08;1&#xff09;创建项目 yarn create vite <ProjectName> --template vueyarn install …

FPGA开发设计

一、概述 FPGA是可编程逻辑器件的一种&#xff0c;本质上是一种高密度可编程逻辑器件。 FPGA的灵活性高、开发周期短、并行性高、具备可重构特性&#xff0c;是一种广泛应用的半定制电路。 FPGA的原理 采用基于SRAM工艺的查位表结构&#xff08;LUT&#xff09;&#xff0c;…

大创项目推荐 深度学习猫狗分类 - python opencv cnn

文章目录 0 前言1 课题背景2 使用CNN进行猫狗分类3 数据集处理4 神经网络的编写5 Tensorflow计算图的构建6 模型的训练和测试7 预测效果8 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习猫狗分类 ** 该项目较为新颖&a…

C#~Winform取消窗体最大化最小化按钮

目录 取消最大化-false取消最小化-false效果 取消最大化-false 取消最小化-false 效果

彻底解决charles抓包https乱码的问题

最近做js逆向&#xff0c;听说charles比浏览器抓包更好用&#xff0c;结果发现全是乱码&#xff0c;根本没法用。 然后查询网上水文&#xff1a;全部都是装证书&#xff0c;根本没用&#xff01; 最后终于找到解决办法&#xff0c;在这里记录一下&#xff1a; 乱码的根本原因…

Cmake 中的list介绍

这个链接非常好&#xff0c;都有例子。 https://www.jianshu.com/p/89fb01752d6f

AnyText多语言文字生成与编辑模型——让AI绘图自由添加精美文字

随着AIGC的爆火,图片生成技术得到飞速发展,当前AI生成的图片已达到真假难辨的高保真度。例如stable diffusion与midjourney为代表的文生图大模型。不过,当合成图片中出现文字内容时,现存的AI技术依然无法驾驭文字内容。因此,modescope提出了一种新型的文字生成方法,此方法…

矩阵的秩-

一、定义、理解 非零子式的最高阶数。 如何理解&#xff1f;什么叫做非零子式的最高阶数&#xff1f;&#xff1f;&#xff1f; 举个例子&#xff1a;有一个5阶矩阵 首先什么叫子式&#xff1f; 例如2阶子式就是&#xff0c;任取某两行某两列组成的行列式&#xff0c;就叫…

书生·浦语大模型实战营第三次课堂笔记

LLM 的局限性 知识时效性受限: 如何让LLM能够获取最新的知识 专业能力有限: 如何打造垂域大模型 定制化成本高: 如何打造个人专属的LLM应用 RAG:检索增强生成&#xff0c; 核心思想&#xff1a;给大模型外挂一个知识库&#xff0c;对于用户的提问&#xff0c;会首先从知识库中…

零基础入门,轻松制作仿真翻页电子书

​随着科技的进步&#xff0c;电子书已经成为越来越多人的选择。与传统纸质书籍相比&#xff0c;电子书具有便携性、可搜索性、可分享性等优势。然而&#xff0c;制作电子书并非易事。许多人都因为缺乏相关知识和技能而望而却步。我给大家提供了一些实用的方法哦&#xff0c;可…

字体包大小缩小的软件

Fontmin - 字体子集化方案https://ecomfe.github.io/fontmin/#app