当前位置: 首页 > news >正文

git 常用指令 (先收藏再说)

Git

Git是一种分布式版本控制系统,用于记录一个或若干个文件内容的变化,以便查阅和回溯。
它的工作原理可以概括为以下几点:

  1. 工作区(Workspace):这是你在电脑上看到的目录,工作区是你用来修改文件的目录。在工作区中我们对文件进行增删改。

  2. 暂存区(Index/Stage):暂存区是位于Git仓库中的一个文件,用于暂时存放提交的更改。我们通过git add命令将修改的文件放入暂存区。

  3. 仓库区(Repository):如果你对暂存区的文件感到满意,可以提交这些修改到仓库区,这样你就成功地创建了一个新的版本。本地仓库是Git用来保存完整项目的整个历史记录的地方。它保存了项目的全部提交历史和版本信息。

  4. 远程仓库(Remote):你可以把本地仓库的内容推送到远程仓库,也可以从远程仓库拉取数据到本地。

Git的工作流程如下:

  1. git clone: 用于将远程仓库的代码克隆到本地。
git clone https://github.com/username/repo.git
  1. 修改文件:在工作区中对文件进行修改、添加或删除操作。

  2. git add:将修改的文件添加到暂存区,表示要提交这些更改。

git add .  //将当前目录下的所有修改过的文件添加到暂存区(包括新建、删除和修改)。
git add file.txt //提交指定文件
  1. git commit: 用于将暂存区的文件提交到本地仓库,生成一个新的版本。
git commit -m "Commit message" //提交更改并添加相应的提交信息
  1. git push: 用于将本地仓库的代码中的新版本推送到远程仓库。
git push origin master
  1. git pull: 用于从远程仓库拉取最新的代码到本地并合并
git pull origin master
  1. git branch: 创建、切换、合并和删除分支,实现并行开发和版本控制。
git branch  //查看当前分支
git branch dev  //创建分支
git branch -d dev //删除一个分支
git branch -r //用于列出远程的所有分支。
  1. git checkout: 用于切换分支或恢复文件
git checkout dev //切换到dev分支
git checkout -b dev //创建新分支并切换分支
git checkout file.txt //将工作区的指定文件的内容恢复到暂存区的状态
  1. git merge: 将不同分支中的代码合并到一起,解决冲突并生成新的提交,首先确保你已经切换到目标分支上,比如主分支或者其他想要接收更改的分支,运行 git merge dev合并dev分支到目标分支。Git会自动尝试合并两个分支的修改内容,但有时候会发生冲突,若发现了冲突,打开相关文件查看具体冲突部分,根据需求编辑文件,选择保留哪些变化或者对冲突进行调整。删除特定符号及其周围的注释,然后保存文件。最后提交合并结果,可以使用 git commit -m "合并" 命令来提交。
git merge dev
  1. git status: 用于查看工作区、暂存区的状态。

  2. git log:查看项目的提交历史,包括作者、时间和提交说明。

git log --graph 以图形化的方式展示提交历史和分支合并情况。
  1. git reset:撤销提交、回退版本,并恢复文件到之前的状态。
git log //首先查看提交记录并获取要回退的目标版本的commit ID(或者只需要最后几位字符)。
git reset <commit_id> //将HEAD指向目标版本,同时保留工作区文件不变。这样会删除所有新的提交记录,但保留修改内容。
git reset --hard <commit_id> //若想完全移除目标版本及其之后的提交记录,可以添加 --hard 参数,注意,此操作会永久性地删除该版本及其之后的更改,谨慎使用。
  1. git diff: 用于查看文件或分支之间的差异。
git diff file.txt
git diff branch1 branch2
  1. git stash : 用于保存当前的修改,并将工作区还原到上一个提交的状态。
git stash
git stash apply
  1. git remote: 用于管理远程仓库。
git remote -v
git remote add origin https://github.com/username/repo.git
git remote show // 用于查看远程仓库的详细信息。
  1. 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是一种分布式版本控制系统&#xff0c;用于记录一个或若干个文件内容的变化&#xff0c;以便查阅和回溯。 它的工作原理可以概括为以下几点&#xff1a; 工作区&#xff08;Workspace&#xff09;&#xff1a;这是你在电脑上看到的目录&#xff0c;工作区是你用来修改文…...

2024问题汇总

2024问题汇总 Linux1.df-h / df -i 命令2.为多网卡Linux云服务器配置策略路由 Windows1.快速进入控制面板 网络连接指令 Linux 1.df-h / df -i 命令 df -h / df -i 都表示查看磁盘空间使用信息 如果遇到磁盘快满的情况&#xff0c;用这两个命令区别如下 df -h 是去删除比较大 …...

爬虫(学习笔记)

python爬虫 一、Python基础回顾变量类型其他操作面向对象编程 二、爬虫流程HTTP协议HTML爬虫demo01爬虫demo02 学习资料 Python爬虫 爬虫实战案例 AI学堂爬虫教学 一、Python基础回顾 变量类型 可变类型&#xff1a;可以进行添加、修改、删除 &#xff08;列表、字典…&#x…...

让业务满意的性能测试报告模板应该是怎样的?

前言 先前在北京出差&#xff0c;和同事聊到了一个关于流量网关如何进行性能验证的需求&#xff0c;当时专门与同事进行了一番讨论&#xff0c;后面写了一篇相关文章。 结果没过多久同事找到我&#xff0c;希望我帮他们写一份给到业务团队的性能测试报告&#xff0c;原因是业…...

高防IP如何保护服务器

首先我们要知道什么是高防IP~ 高防IP是指高防机房所提供的ip段&#xff0c;主要是针对互联网服务器遭受大流量DDoS攻击时进行的保护服务。高防IP是目前最常用的一种防御DDoS攻击的手段&#xff0c;用户可以通过配置DDoS高防IP&#xff0c;将攻击流量引流到高防IP&#xff0c;防…...

C++提高编程——STL:string容器、vector容器

本专栏记录C学习过程包括C基础以及数据结构和算法&#xff0c;其中第一部分计划时间一个月&#xff0c;主要跟着黑马视频教程&#xff0c;学习路线如下&#xff0c;不定时更新&#xff0c;欢迎关注。 当前章节处于&#xff1a; ---------第1阶段-C基础入门 ---------第2阶段实战…...

three.js从入门到精通系列教程004 - three.js透视相机(PerspectiveCamera)滚动浏览全景大图

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>three.js从入门到精通系列教程004 - three.js透视相机&#xff08;PerspectiveCamera&#xff09;滚动浏览全景大图</title><script src"js/three.js"&g…...

Gradle 笔记

Gradle依赖管理&#xff08;基于Kotlin DSL&#xff09; **注意&#xff1a;**如果不是工作原因或是编写安卓项目必须要用Gradle&#xff0c;建议学习Maven即可&#xff0c;Gradle的学习成本相比Maven高很多&#xff0c;而且学了有没有用还是另一回事&#xff0c;所以&#xff…...

flume案例

在构建数仓时&#xff0c;经常会用到flume接收日志数据&#xff0c;通常涉及到的组件为kafka&#xff0c;hdfs等。下面以一个flume接收指定topic数据&#xff0c;并存入hdfs的案例&#xff0c;大致了解下flume相关使用规则。 版本&#xff1a;1.9 Source Kafka Source就是一…...

信用评价研究MATLAB仿真代码

信用评价是各种店铺卖家分析买家信用行为的重要内容, 本文给出随机仿真代码模拟实际交易过程的信用评价. 主要研究内容有: (1)研究最大交易额和信用度的关系 (2)研究买家不评价率对信用度影响 (3)研究交易次数对信用度影响 MATLAB程序如下: 主程序main.m %% clc;close a…...

网络安全产品之认识防毒墙

在互联网发展的初期&#xff0c;网络结构相对简单&#xff0c;病毒通常利用操作系统和软件程序的漏洞发起攻击&#xff0c;厂商们针对这些漏洞发布补丁程序。然而&#xff0c;并不是所有终端都能及时更新这些补丁&#xff0c;随着网络安全威胁的不断升级和互联网的普及&#xf…...

android 防抖工具类,经纬度检查工具类

一&#xff1a;点击事件防抖工具类&#xff1a; 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进行全量备份。在构建复制关系时&#xff0c;创建备机时需要通过pg_basebackup全量拉取一个备份&#xff0c;形成一个mirror。但很多场景下&#xff0c;我们往往不需要进行全量备份/恢复&#xff0c;数据量特别大的…...

Vue3setup()的非语法糖和语法糖的用法

1、setup()的语法糖的用法 script标签上写setup属性&#xff0c;不需要export default {} setup() 都可以省 创建每个属性或方法时也不需要return 导入某个组件时也不需要注册 <script setup > // script标签上写setup属性&#xff0c;不需要export default {} set…...

HTTP状态信息

1xx: 信息 消息:描述:100 Continue服务器仅接收到部分请求&#xff0c;但是一旦服务器并没有拒绝该请求&#xff0c;客户端应该继续发送其余的请求。101 Switching Protocols服务器转换协议&#xff1a;服务器将遵从客户的请求转换到另外一种协议。 2xx: 成功 消息:描述:200…...

CSS之边框样式

让我为大家介绍一下边框样式吧&#xff01;如果大家想更进一步了解边框的使用&#xff0c;可以阅读这一篇文章&#xff1a;CSS边框border 属性描述none没有边框,即忽略所有边框的宽度(默认值)solid边框为单实线dashed边框为虚线dotted边框为点线double边框为双实线 代码演示&…...

k8s-helm

Helm: 什么是helm,在没有这个heml之前&#xff0c;deployment service ingress的作用就是通过打包的方式&#xff0c;把deployment service ingress这些打包在一块&#xff0c;一键式的部署服务&#xff0c;类似于yum 官方提供的一个类似于安全仓库的功能&#xff0c;可以实现…...

黑马程序员JavaWeb开发|Maven高级

一、分模块设计与开发 分模块设计&#xff1a; 将项目按照功能拆分成若干个子模块&#xff0c;方便项目的管理维护、扩展&#xff0c;也方便模块间的相互调用&#xff0c;资源共享。 注意&#xff1a;分模块开发需要先对模块功能进行设计&#xff0c;再进行编码。不会先将工…...

【经验分享】MAC系统安装R和Rstudio(保姆级教程)安装下载只需5min

最近换了Macbook的Air电脑&#xff0c;自然要换很多新软件啦&#xff0c;首先需要安装的就是R和Rstudio啦&#xff0c;网上的教程很多很繁琐&#xff0c;为此我特意总结了最简单实用的安装方式: 一、先R后Rstudio 二、R下载 下载网址&#xff1a;https://cran.r-project.org …...

探索设计模式的魅力:“感受单例模式的力量与神秘” - 掌握编程的王牌技巧

在软件开发的赛场上&#xff0c;单例模式以其独特的魅力长期占据着重要的地位。作为设计模式中的一员&#xff0c;它在整个软件工程的棋盘上扮演着关键性角色。本文将带你深入探索单例模式的神秘面纱&#xff0c;从历史渊源到现代应用&#xff0c;从基础实现到高级技巧&#xf…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...