git 常用指令 (先收藏再说)
Git
Git是一种分布式版本控制系统,用于记录一个或若干个文件内容的变化,以便查阅和回溯。
它的工作原理可以概括为以下几点:
-
工作区(Workspace):这是你在电脑上看到的目录,工作区是你用来修改文件的目录。在工作区中我们对文件进行增删改。
-
暂存区(Index/Stage):暂存区是位于Git仓库中的一个文件,用于暂时存放提交的更改。我们通过
git add命令将修改的文件放入暂存区。 -
仓库区(Repository):如果你对暂存区的文件感到满意,可以提交这些修改到仓库区,这样你就成功地创建了一个新的版本。本地仓库是Git用来保存完整项目的整个历史记录的地方。它保存了项目的全部提交历史和版本信息。
-
远程仓库(Remote):你可以把本地仓库的内容推送到远程仓库,也可以从远程仓库拉取数据到本地。
Git的工作流程如下:
git clone: 用于将远程仓库的代码克隆到本地。
git clone https://github.com/username/repo.git
-
修改文件:在工作区中对文件进行修改、添加或删除操作。
-
git add:将修改的文件添加到暂存区,表示要提交这些更改。
git add . //将当前目录下的所有修改过的文件添加到暂存区(包括新建、删除和修改)。
git add file.txt //提交指定文件
git commit: 用于将暂存区的文件提交到本地仓库,生成一个新的版本。
git commit -m "Commit message" //提交更改并添加相应的提交信息
git push: 用于将本地仓库的代码中的新版本推送到远程仓库。
git push origin master
git pull: 用于从远程仓库拉取最新的代码到本地并合并
git pull origin master
git branch: 创建、切换、合并和删除分支,实现并行开发和版本控制。
git branch //查看当前分支
git branch dev //创建分支
git branch -d dev //删除一个分支
git branch -r //用于列出远程的所有分支。
git checkout: 用于切换分支或恢复文件
git checkout dev //切换到dev分支
git checkout -b dev //创建新分支并切换分支
git checkout file.txt //将工作区的指定文件的内容恢复到暂存区的状态
git merge: 将不同分支中的代码合并到一起,解决冲突并生成新的提交,首先确保你已经切换到目标分支上,比如主分支或者其他想要接收更改的分支,运行git merge dev来合并dev分支到目标分支。Git会自动尝试合并两个分支的修改内容,但有时候会发生冲突,若发现了冲突,打开相关文件查看具体冲突部分,根据需求编辑文件,选择保留哪些变化或者对冲突进行调整。删除特定符号及其周围的注释,然后保存文件。最后提交合并结果,可以使用git commit -m "合并"命令来提交。
git merge dev
-
git status: 用于查看工作区、暂存区的状态。 -
git log:查看项目的提交历史,包括作者、时间和提交说明。
git log --graph 以图形化的方式展示提交历史和分支合并情况。
git reset:撤销提交、回退版本,并恢复文件到之前的状态。
git log //首先查看提交记录并获取要回退的目标版本的commit ID(或者只需要最后几位字符)。
git reset <commit_id> //将HEAD指向目标版本,同时保留工作区文件不变。这样会删除所有新的提交记录,但保留修改内容。
git reset --hard <commit_id> //若想完全移除目标版本及其之后的提交记录,可以添加 --hard 参数,注意,此操作会永久性地删除该版本及其之后的更改,谨慎使用。
git diff: 用于查看文件或分支之间的差异。
git diff file.txt
git diff branch1 branch2
git stash: 用于保存当前的修改,并将工作区还原到上一个提交的状态。
git stash
git stash apply
git remote: 用于管理远程仓库。
git remote -v
git remote add origin https://github.com/username/repo.git
git remote show // 用于查看远程仓库的详细信息。
git fetch: 用于从远程仓库下载最新的代码,但不合并到当前分支。
git fetch origin
其他常用指令
git init 初始化本地git仓库(创建新仓库)。
git clone 用于克隆远程的项目到本地。
git rm : 用于将文件从工作区和暂存区中删除。
git rm file.txt
git rm -r foldername //递归地删除指定文件夹及其所有内容,包括文件和文件夹
git config --global user.name "xxx" :配置用户名
git config --global user.email "xxx@xxx.com" :配置邮件
git show dfb55efr4f2f7b573327763e5c0013802e392812 :显示某个提交的详细内容,可以只用commitid的前几位,例如 git show dfb55 。
git show HEAD //显示HEAD提交日志。
git show HEAD^ //显示HEAD的父(上一个版本)的提交日志,`^^`为上两个版本,`^5`为上5个版本。
git tag :显示已存在的tag。
git tag -a v2.0 -m 'xxx' :增加v2.0的tag。
git rebase : 用于将一个分支的提交合并到另一个分支上。
git rebase branch_name
相关文章:
git 常用指令 (先收藏再说)
Git Git是一种分布式版本控制系统,用于记录一个或若干个文件内容的变化,以便查阅和回溯。 它的工作原理可以概括为以下几点: 工作区(Workspace):这是你在电脑上看到的目录,工作区是你用来修改文…...
2024问题汇总
2024问题汇总 Linux1.df-h / df -i 命令2.为多网卡Linux云服务器配置策略路由 Windows1.快速进入控制面板 网络连接指令 Linux 1.df-h / df -i 命令 df -h / df -i 都表示查看磁盘空间使用信息 如果遇到磁盘快满的情况,用这两个命令区别如下 df -h 是去删除比较大 …...
爬虫(学习笔记)
python爬虫 一、Python基础回顾变量类型其他操作面向对象编程 二、爬虫流程HTTP协议HTML爬虫demo01爬虫demo02 学习资料 Python爬虫 爬虫实战案例 AI学堂爬虫教学 一、Python基础回顾 变量类型 可变类型:可以进行添加、修改、删除 (列表、字典…&#x…...
让业务满意的性能测试报告模板应该是怎样的?
前言 先前在北京出差,和同事聊到了一个关于流量网关如何进行性能验证的需求,当时专门与同事进行了一番讨论,后面写了一篇相关文章。 结果没过多久同事找到我,希望我帮他们写一份给到业务团队的性能测试报告,原因是业…...
高防IP如何保护服务器
首先我们要知道什么是高防IP~ 高防IP是指高防机房所提供的ip段,主要是针对互联网服务器遭受大流量DDoS攻击时进行的保护服务。高防IP是目前最常用的一种防御DDoS攻击的手段,用户可以通过配置DDoS高防IP,将攻击流量引流到高防IP,防…...
C++提高编程——STL:string容器、vector容器
本专栏记录C学习过程包括C基础以及数据结构和算法,其中第一部分计划时间一个月,主要跟着黑马视频教程,学习路线如下,不定时更新,欢迎关注。 当前章节处于: ---------第1阶段-C基础入门 ---------第2阶段实战…...
three.js从入门到精通系列教程004 - three.js透视相机(PerspectiveCamera)滚动浏览全景大图
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>three.js从入门到精通系列教程004 - three.js透视相机(PerspectiveCamera)滚动浏览全景大图</title><script src"js/three.js"&g…...
Gradle 笔记
Gradle依赖管理(基于Kotlin DSL) **注意:**如果不是工作原因或是编写安卓项目必须要用Gradle,建议学习Maven即可,Gradle的学习成本相比Maven高很多,而且学了有没有用还是另一回事,所以ÿ…...
flume案例
在构建数仓时,经常会用到flume接收日志数据,通常涉及到的组件为kafka,hdfs等。下面以一个flume接收指定topic数据,并存入hdfs的案例,大致了解下flume相关使用规则。 版本:1.9 Source Kafka Source就是一…...
信用评价研究MATLAB仿真代码
信用评价是各种店铺卖家分析买家信用行为的重要内容, 本文给出随机仿真代码模拟实际交易过程的信用评价. 主要研究内容有: (1)研究最大交易额和信用度的关系 (2)研究买家不评价率对信用度影响 (3)研究交易次数对信用度影响 MATLAB程序如下: 主程序main.m %% clc;close a…...
网络安全产品之认识防毒墙
在互联网发展的初期,网络结构相对简单,病毒通常利用操作系统和软件程序的漏洞发起攻击,厂商们针对这些漏洞发布补丁程序。然而,并不是所有终端都能及时更新这些补丁,随着网络安全威胁的不断升级和互联网的普及…...
android 防抖工具类,经纬度检查工具类
一:点击事件防抖工具类: public abstract class ThrottleClickListener implements View.OnClickListener {private long clickLastTimeKey 0;private final long thresholdMillis 500;//millisecondsOverridepublic void onClick(View v) {long curr…...
PgSQL - 17新特性 - 块级别增量备份
PgSQL - 17新特性 - 块级别增量备份 PgSQL可通过pg_basebackup进行全量备份。在构建复制关系时,创建备机时需要通过pg_basebackup全量拉取一个备份,形成一个mirror。但很多场景下,我们往往不需要进行全量备份/恢复,数据量特别大的…...
Vue3setup()的非语法糖和语法糖的用法
1、setup()的语法糖的用法 script标签上写setup属性,不需要export default {} setup() 都可以省 创建每个属性或方法时也不需要return 导入某个组件时也不需要注册 <script setup > // script标签上写setup属性,不需要export default {} set…...
HTTP状态信息
1xx: 信息 消息:描述:100 Continue服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。101 Switching Protocols服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。 2xx: 成功 消息:描述:200…...
CSS之边框样式
让我为大家介绍一下边框样式吧!如果大家想更进一步了解边框的使用,可以阅读这一篇文章:CSS边框border 属性描述none没有边框,即忽略所有边框的宽度(默认值)solid边框为单实线dashed边框为虚线dotted边框为点线double边框为双实线 代码演示&…...
k8s-helm
Helm: 什么是helm,在没有这个heml之前,deployment service ingress的作用就是通过打包的方式,把deployment service ingress这些打包在一块,一键式的部署服务,类似于yum 官方提供的一个类似于安全仓库的功能,可以实现…...
黑马程序员JavaWeb开发|Maven高级
一、分模块设计与开发 分模块设计: 将项目按照功能拆分成若干个子模块,方便项目的管理维护、扩展,也方便模块间的相互调用,资源共享。 注意:分模块开发需要先对模块功能进行设计,再进行编码。不会先将工…...
【经验分享】MAC系统安装R和Rstudio(保姆级教程)安装下载只需5min
最近换了Macbook的Air电脑,自然要换很多新软件啦,首先需要安装的就是R和Rstudio啦,网上的教程很多很繁琐,为此我特意总结了最简单实用的安装方式: 一、先R后Rstudio 二、R下载 下载网址:https://cran.r-project.org …...
探索设计模式的魅力:“感受单例模式的力量与神秘” - 掌握编程的王牌技巧
在软件开发的赛场上,单例模式以其独特的魅力长期占据着重要的地位。作为设计模式中的一员,它在整个软件工程的棋盘上扮演着关键性角色。本文将带你深入探索单例模式的神秘面纱,从历史渊源到现代应用,从基础实现到高级技巧…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
密码学基础——SM4算法
博客主页:christine-rr-CSDN博客 专栏主页:密码学 📌 【今日更新】📌 对称密码算法——SM4 目录 一、国密SM系列算法概述 二、SM4算法 2.1算法背景 2.2算法特点 2.3 基本部件 2.3.1 S盒 2.3.2 非线性变换 编辑…...
