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

git常用命令集合

1.差异对比

显示出branch1和branch2中差异的部分

git diff branch1 branch2 --stat

显示出所有有差异的文件的详细差异

git diff branch1 branch2

查看branch1分支有,而branch2中没有的log

git log branch1 ^branch2

2.分支

列出所有本地分支

 git branch

列出所有远程分支

 git branch -r

列出所有本地分支和远程分支

 git branch -a

新建一个分支,但依然停留在当前分支

 git branch [branch-name]

新建一个分支,并切换到该分支

git checkout -b [branch]

新建一个分支,指向指定commit

 git branch [branch] [commit]

建一个分支,与指定的远程分支建立追踪关系

git branch --track [branch] [remote-branch]

切换到指定分支,并更新工作区

git checkout [branch-name]

切换到上一个分支

git checkout -

建立追踪关系,在现有分支与指定的远程分支之间

 git branch --set-upstream [branch] [remote-branch]

合并指定分支到当前分支

git merge [branch]

选择一个commit,合并进当前分支

git cherry-pick [commit]

删除分支

git branch -d [branch-name]

删除远程分支

 git push origin --delete [branch-name]git branch -dr [remote/branch]

3.配置

显示当前的Git配置

git config --list

编辑Git配置文件

git config -e [–global]

设置提交代码时的用户信息

 git config [–global] user.name “[name]”git config [–global] user.email “[email address]

4.撤销

恢复暂存区的指定文件到工作区

 git checkout [file]

恢复某个commit的指定文件到暂存区和工作区

 git checkout [commit] [file]

恢复暂存区的所有文件到工作区

git checkout .

重置暂存区的指定文件,与上一次commit保持一致,但工作区不变

git reset [file]

重置暂存区与工作区,与上一次commit保持一致

git reset --hard

重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变

git reset [commit]

重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致

 git reset --hard [commit]

重置当前HEAD为指定commit,但保持暂存区和工作区不变

git reset --keep [commit]

新建一个commit,用来撤销指定commit
后者的所有变化都将被前者抵消,并且应用到当前分支

 git revert [commit]

暂时将未提交的变化移除,稍后再移入

 git stashgit stash pop

5.增加删除/文件

添加指定文件到暂存区

git add [file1] [file2]

添加指定目录到暂存区,包括子目录

 git add [dir]

添加当前目录的所有文件到暂存区

 git add .

添加每个变化前,都会要求确认
对于同一个文件的多处变化,可以实现分次提交

git add -p

删除工作区文件,并且将这次删除放入暂存区

git rm [file1] [file2]

停止追踪指定文件,但该文件会保留在工作区

 git rm --cached [file]

改名文件,并且将这个改名放入暂存区

 git mv [file-original] [file-renamed]

6.代码提交

提交暂存区到仓库区*

git commit -m [message]

提交暂存区的指定文件到仓库区

git commit [file1] [file2]-m [message]

提交工作区自上次commit之后的变化,直接到仓库区

git commit -a

提交时显示所有diff信息

git commit -v

使用一次新的commit,替代上一次提交
如果代码没有任何新变化,则用来改写上一次commit的提交信息

git commit --amend -m [message]

重做上一次commit,并包括指定文件的新变化

git commit --amend [file1] [file2]

7. 标签

列出所有tag

 git tag

新建一个tag在当前commit

git tag [tag]

新建一个tag在指定commit

git tag [tag] [commit]

删除本地tag

 git tag -d [tag]

删除远程tag

 git push origin :refs/tags/[tagName]

查看tag信息

 git show [tag]

提交指定tag

git push [remote] [tag]

提交所有tag

 git push [remote] --tags

新建一个分支,指向某个tag

 git checkout -b [branch] [tag]

8.查看信息

显示有变更的文件

 git status

显示当前分支的版本历史

 git log

显示commit历史,以及每次commit发生变更的文件

 git log --stat

搜索提交历史,根据关键词

 git log -S [keyword]

显示某个commit之后的所有变动,每个commit占据一行

 git log [tag] HEAD --pretty=format:%s

显示某个commit之后的所有变动,其"提交说明"必须符合搜索条件

 git log [tag] HEAD --grep feature

显示某个文件的版本历史,包括文件改名

 git log --follow [file]git whatchanged [file]

显示指定文件相关的每一次diff

git log -p [file]

显示过去5次提交

 git log -5 --pretty --oneline

显示所有提交过的用户,按提交次数排序

 git shortlog -sn

显示指定文件是什么人在什么时间修改过

git blame [file]

显示暂存区和工作区的差异

 git diff

显示暂存区和上一个commit的差异

 git diff --cached [file]

显示工作区与当前分支最新commit之间的差异

git diff HEAD

显示两次提交之间的差异

git diff [first-branch][second-branch]

显示今天你写了多少行代码

 git diff --shortstat “@{0 day ago}

显示某次提交的元数据和内容变化

 git show [commit]

显示某次提交发生变化的文件

git show --name-only [commit]

显示某次提交时,某个文件的内容

 git show [commit]:[filename]

显示当前分支的最近几次提交

 git reflog

9.远程同步

下载远程仓库的所有变动

 git fetch [remote]

显示所有远程仓库

 git remote -v

显示某个远程仓库的信息

 git remote show [remote]

增加一个新的远程仓库,并命名

 git remote add [shortname] [url]

取回远程仓库的变化,并与本地分支合并

 git pull [remote] [branch]

上传本地指定分支到远程仓库

 git push [remote] [branch]

强行推送当前分支到远程仓库,即使有冲突

 git push [remote] --force

推送所有分支到远程仓库

 git push [remote] --all

相关文章:

git常用命令集合

1.差异对比 显示出branch1和branch2中差异的部分 git diff branch1 branch2 --stat显示出所有有差异的文件的详细差异 git diff branch1 branch2查看branch1分支有,而branch2中没有的log git log branch1 ^branch22.分支 列出所有本地分支 git branch列出所有远…...

UDP通信发送和接收 || UDP实现全双工通信

recvfrom ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen); 功能: 从套接字中接收数据 参数: sockfd:套接字文件描述符 buf:存放数据空间首地址 …...

Mac 以SH脚本安装Arthas

SH脚本安装Aethas curl -L https://alibaba.github.io/arthas/install.sh | sh安装脚本说明 示例源文件: #! /bin/bash# temp file of as.sh TEMP_ARTHAS_FILE"./as.sh.$$"# target file of as.sh TARGET_ARTHAS_FILE"./as.sh"# update timeo…...

Elasticsearch:dense vector 数据类型及标量量化

密集向量(dense_vector)字段类型存储数值的密集向量。 密集向量场主要用于 k 最近邻 (kNN) 搜索。 dense_vector 类型不支持聚合或排序。 默认情况下,你可以基于 element_type 添加一个 dend_vector 字段作为 float 数值数组: …...

Linux C/C++下使用Lex/Yacc构建实现DBMS(Minisql)

DBMS(数据库管理系统)是一种用于管理和组织数据库的软件系统。它的重要性在于提供了一种有效地存储、管理和访问大量数据的方式。本文将深入探讨如何使用C语言、Lex(词法分析器生成器)和Yacc(语法分析器生成器&#xf…...

c语言指针小白基础教学

指针 1. 什么是指针?2. 如何编址(即如何给地址分配空间呢)3. 概念和基本术语3.1指针的值指针所指向的地址/内存区3.2 指针的类型(指针本身的类型)思考: 3.3 指针所指向的类型3.4 指针本身所占据的内存区3.5…...

面向对象设计之里氏替换原则

设计模式专栏:http://t.csdnimg.cn/4Mt4u 思考:什么样的代码才算违反里氏替换原则? 目录 1.里氏替换原则的定义 2.里氏替换原则与多态的区别 3.违反里氏替换原则的反模式 4.总结 1.里氏替换原则的定义 里氏替换原则(Liskov S…...

MySQL·SQL优化

目录 一 . 前言 二 . 优化方法 1 . 索引 (1)数据构造 (2)单索引 (3)explain (4)组合索引 (5)索引总结 2 . 避免使用select * 3 . 用union all代替u…...

Dockerfile指令大全

Dockerfile文件由一系列指令和参数组成。指令的一般格式为INSTRUCTION arguments。具体来说,包括"配置指令"(配置镜像信息)和"操作指令"(具体执行操作)。每条指令,如FROM,都是大小写不敏感的。但是为了区分指令和参数&am…...

第八个实验:(A+B)-C的结果判断奇偶特性

实验内容:(A+B)-C的结果判断奇偶特性,最后显示结果 实验步骤: 第一步:建立项目 第二步:实验步骤,编写程序 第三步:实验结果...

设计模式:观察者模式 ⑧

一、思想 观察者模式是一种常见的设计模式,也称作发布-订阅模式。它主要解决了对象之间的通知依赖关系问题。在这种模式中,一个对象(称作Subject)维护着一个对象列表,这些对象(称作Observers)都…...

【重温设计模式】迭代器模式及其Java示例

迭代器模式的介绍 在编程领域,迭代器模式是一种常见的设计模式,它提供了一种方法,使得我们可以顺序访问一个集合对象中的各个元素,而又无需暴露该对象的内部表示。你可以把它想象成一本书,你不需要知道这本书是怎么印…...

(001)UV 的使用以及导出

文章目录 UV窗口导出模型的主要事项导出时材质的兼容问题unity贴图导出导出FBX附录 UV窗口 1.uv主要的工作区域: 2.在做 uv 和贴图之前,最好先应用下物体的缩放、旋转。 导出模型的主要事项 1.将原点设置到物体模型的底部: 2.应用修改器的…...

一文理解CAS和自旋的区别(荣耀典藏版)

目录 一、自旋 二、CAS 三、什么是 ABA 问题 大家好,我是月夜枫,通常在面试的时候,或者在学习的时候,经常性的会遇到一些关于锁的问题,尤其是面试官会提出提问,你对锁了解的多么?你知道锁的原…...

【吊打面试官系列】Java虚拟机JVM篇 - 关于内存溢出

大家好,我是锋哥。今天分享关于内存溢出的JVM面试题,希望对大家有帮助; 什么是内存溢出? 内存溢出(OOM)是指可用内存不足。程序运行需要使用的内存超出最大可用值,如果不进行处理就会影响到其他…...

思科网络中如何配置标准ACL协议

一、什么是标准ACL协议?有什么作用及配置方法? (1)标准ACL(Access Control List)协议是一种用于控制网络设备上数据流进出的协议。标准ACL基于源IP地址来过滤数据流,可以允许或拒绝特定IP地址范…...

蓝桥杯刷题(二)

参考大佬代码:(区间合并二分) import os import sysn, L map(int, input().split()) # 输入n,len arr [list(map(int, input().split())) for _ in range(n)] # 输入Li,Si def check(Ti, arr, L)->bool:sec [] # 存入已打开的阀门在…...

【Python】牛客网—软件开发-Python专项练习(day1)

1.(单选)下面哪个是Python中不可变的数据结构? A.set B.list C.tuple D.dict 可变数据类型:列表list[ ]、字典dict{ }、集合set{ }(能查询,也可更改)数据发生改变,但内存地址不变 不…...

P3405 [USACO16DEC] Cities and States S题解

题目 Farmer John有若干头奶牛。为了训练奶牛们的智力,Farmer John在谷仓的墙上放了一张美国地图。地图上表明了每个城市及其所在州的代码(前两位大写字母)。 由于奶牛在谷仓里花了很多时间看这张地图,他们开始注意到一些奇怪的…...

JavaScript原型和原型链

JavaScript每个对象拥有一个原型对象 需要注意的是,只有函数对象才有 prototype 属性 当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型,依次层层向上搜索&#xff…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...

SpringAI实战:ChatModel智能对话全解

一、引言&#xff1a;Spring AI 与 Chat Model 的核心价值 &#x1f680; 在 Java 生态中集成大模型能力&#xff0c;Spring AI 提供了高效的解决方案 &#x1f916;。其中 Chat Model 作为核心交互组件&#xff0c;通过标准化接口简化了与大语言模型&#xff08;LLM&#xff0…...