Git命令详解

news2024/12/23 23:53:33

1 常用命令

1)初始化本地仓库

git init <directory>

是可选的,如果不指定,将使用当前目录。

2)克隆一个远程仓库

git clone <url>

3)添加文件到暂存区

git add <file>

要添加当前目录中的所有文件,请使用 . 代替,代码如下:

git add .

4)提交更改

git commit -m "<message>"

如果要添加对跟踪文件所做的所有更改并提交。

git commit -a -m "<message>"

5)从暂存区删除一个文件

git reset <file>

6)移动或重命名文件

git mv <current path> <new path>

7)从存储库中删除文件

git rm <file>

也可以仅使用 --cached 标志将其从暂存区中删除

git rm --cached <file>

8)显示分支

git branch

有用的标志:

  • -a:显示所有分支(本地和远程)
  • -r:显示远程分支
  • -v:显示最后一次提交的分支

9)创建一个分支

git branch <branch>

可以创建一个分支并使用 checkout 命令切换到它。

git checkout -b <branch>

10)切换到一个分支

git checkout <branch>

11)删除一个分支

git branch -d <branch>

还可以使用 -D 标志强制删除分支。

git branch -D <branch>

12)合并分支

git merge <branch to merge into HEAD>

有用的标志:

  • --no-ff:即使合并解析为快进,也创建合并提交
  • --squash:将指定分支中的所有提交压缩为单个提交

快进合并

非快进合并

建议不要使用 --squash 标志,因为它会将所有提交压缩为单个提交,从而导致提交历史混乱。

13)变基分支

变基是将一系列提交移动或组合到新的基本提交的过程。

git rebase <branch to rebase from>

14)查看之前的提交

git checkout <commit id>

15)恢复提交

git revert <commit id>

16)重置提交

git reset <commit id>

还可以添加 --hard 标志来删除所有更改,但请谨慎使用。

git reset --hard <commit id>

17)查看存储库的状态

git status

18)显示提交历史

git log

19)显示对未暂存文件的更改

git diff \

还可以使用 --staged 标志来显示对暂存文件的更改。

git diff --staged

20)显示两次提交之间的变化

git diff <commit id 01> <commit id 02>

21)存储更改

stash 允许您在不提交更改的情况下临时存储更改。

git stash

还可以将消息添加到存储中。

git stash save "<message>"

22)列出存储

git stash list

23)申请一个藏匿处

应用存储不会将其从存储列表中删除。

git stash apply <stash id>

如果不指定,将应用最新的 stash(适用于所有类似的 stash 命令)

还可以使用格式 stash@{} 应用存储(适用于所有类似的存储命令)

git stash apply stash@{0}

24)删除一个藏匿处

git stash drop <stash id>

25)删除所有藏匿处

git stash clear

26)应用和删除存储

git stash pop <stash id>

27)显示存储中的更改

git stash show <stash id>

28)添加远程仓库

git remote add <remote name> <url>

29)显示远程仓库

git remote

添加 -v 标志以显示远程存储库的 URL。

git remote -v

30)删除远程仓库

git remote remove <remote name>

31)重命名远程存储库

git remote rename <old name> <new name>

32)从远程存储库中获取更改

git fetch <remote name>

33)从特定分支获取更改

git fetch <remote name> <branch>

34)从远程存储库中拉取更改

git pull <remote name> <branch>

35)将更改推送到远程存储库

git push <remote name>

36)将更改推送到特定分支

git push <remote name> <branch>

以上命令中,[tag name]是标签名称。

注:标签名称不能与分支名冲突。

2 误删除恢复

在使用GitLab命令行时,可能会不小心误删除文件或目录。在Git中,误删除文件和目录的情况是比较普遍的。下面是一些处理误删除的命令:

# 恢复删除的文件
git checkout [file name]

# 恢复删除的目录
git checkout [dir name/]

# 恢复删除的所有文件和目录
git checkout .

3 基本 Git 概念

  • 默认分支名称:main
  • 默认远程名称:origin
  • 当前分支参考:HEAD
  • HEAD 的父级:HEAD^ 或 HEAD~1
  • HEAD 的祖父母:HEAD^^ 或 HEAD~2

 

 

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

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

相关文章

概念解析 | 长尾分布:从无处不在的‘少数派’中挖掘价值

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:长尾分布(Long-Tail Distribution)。 揭秘长尾分布:从无处不在的‘少数派’中挖掘价值 What is a Long Tail Distribution? (Definition & Example) - Statology 一、背…

Neo4j的使用场景_以及Windows版安装_欺诈检测_推荐_知识图谱---Neo4j图数据库工作笔记0003

可以看到使用场景,比如欺诈检测, 要建立图谱,才能进行,欺诈人员检测 可以看到图谱的各种应用场景 然后推荐引擎也需要,可以看到 在金融,旅行,求职招聘,保健,服务,媒体娱乐,都可以进行推荐 然后还有知识图谱 身份访问管理,这里,可以进行安全管理,可以挖掘出潜在关系,分析, 某…

Android学习之路(4) UI控件之Button (按钮)与 ImageButton (图像按钮)

本节引言&#xff1a; 今天给大家介绍的Android基本控件中的两个按钮控件&#xff0c;Button普通按钮和ImageButton图像按钮&#xff1b; 其实ImageButton和Button的用法基本类似&#xff0c;至于与图片相关的则和后面ImageView相同&#xff0c;所以本节 只对Button进行讲解&am…

Spring Security实现办公系统权限控制(含认证和授权流程、底层分析)

一、Spring Security介绍 1、Spring Security简介 Spring 是非常流行和成功的 Java 应用开发框架&#xff0c;Spring Security 正是 Spring 家族中的成员。Spring Security 基于 Spring 框架&#xff0c;提供了一套 Web 应用安全性的完整解决方案。 正如你可能知道的关于安全…

stop job is running for Advanced key-value store

今天虚拟机磁盘撑满了&#xff0c;本来还能凑合运行&#xff0c;结果重启了下&#xff0c;就报了这个 stop job is running for Advanced key-value store (1min 59s / no limit) 解决方式很简单&#xff0c; 1、虚拟机关电源&#xff0c;任务管理器&#xff0c;关闭VM&#x…

Spring Security用户授权

用户认证在上一篇用户认证 用户授权 总体流程&#xff1a; 在SpringSecurity中&#xff0c;会使用默认的FilterSecurityInterceptor来进行权限校验。在FilterSecurityInterceptor中会从SecurityContextHolder获取其中的Authentication&#xff0c;然后获取其中的权限信息。…

Linux(进程控制)

进程控制 进程创建fork函数初识fork函数返回值写时拷贝fork常规用法fork调用失败的原因 进程终止进程退出码进程常见退出方法 进程等待进程等待必要性获取子进程status进程等待的方法 阻塞等待与非阻塞等待阻塞等待非阻塞等待 进程替换替换原理替换函数函数解释命名理解 做一个…

Java 并发编程--Volatile、Synchronized和锁

一、Java内存模型&#xff08;JMM&#xff09; Java内存模型即Java Memory Model&#xff0c;简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型&#xff0c;所以JMM是隶属于JVM的。 从抽象的角度来看&#xff0c;JMM定义了线程和主…

react-native-webview使用postMessage后H5不能监听问题(iOS和安卓的兼容问题)

/* 监听rn消息 */ const eventListener nativeEvent > {//解析数据actionType、extraconst {actionType, extra} nativeEvent.data && JSON.parse(nativeEvent.data) || {} } //安卓用document&#xff0c;ios用window window.addEventListener(message, eventLis…

verilog学习笔记6——锁存器和触发器

文章目录 前言一、锁存器1、基本SR锁存器——或非门实现2、基本SR锁存器——与非门实现3、门控SR锁存器4、门控D锁存器 二、触发器1、 电平触发的RS触发器/同步SR触发器2、电平触发的D触发器/D型锁存器3、边沿触发的D触发器4、脉冲触发的RS触发器 三、边沿触发、脉冲触发、电平…

LVS-DR集群(一台LVS,一台CIP,两台web,一台NFS)的构建

一.构建环境 1.五台关闭防火墙&#xff0c;关闭selinux&#xff0c;拥有固定IP&#xff0c;部署有http服务的虚拟机&#xff0c;LVS设备下载ipvsadm工具&#xff0c;NFS 设备需要下载rpcbind和nfs-utils 2.实现功能 3.ipvsadm命令部分参数介绍 二.配置和测试 1.LVS设备 &…

re学习(32)【绿城杯2021】babyvxworks(浅谈花指令)

链接&#xff1a;https://pan.baidu.com/s/1msA5EY_7hoYGBEema7nWwA 提取码&#xff1a;b9xf wp:首先找不到main函数&#xff0c;然后寻找特殊字符串&#xff0c; 交叉引用 反汇编 主函数在sub_3D9当中&#xff0c;但是IDA分析错了 分析错误后&#xff0c;删除函数 创建函数 操…

Python学习笔记_基础篇(六)_Set集合,函数,深入拷贝,浅入拷贝,文件处理

1、Set基本数据类型 a、set集合&#xff0c;是一个无序且不重复的元素集合 class set(object):"""set() -> new empty set objectset(iterable) -> new set objectBuild an unordered collection of unique elements."""def add(self, *a…

人工智能时代的科学探索 | 《自然》评述

人工智能(AI)正越来越多地融入科学发现&#xff0c;以增强和加速研究&#xff0c;帮助科学家提出假设、设计实验、收集和解释大型数据集&#xff0c;并获得仅靠传统科学方法可能无法实现的洞察力。 过去十年间&#xff0c;AI取得了巨大的突破。其中就包括自监督学习和几何深度学…

LabVIEW开发最小化5G系统测试平台

LabVIEW开发最小化5G系统测试平台 由于具有大量存储能力和数据的应用程序的智能手机的激增&#xff0c;当前一代产品被迫提高其吞吐效率。正交频分复用由于其卓越的品质&#xff0c;如单抽头均衡和具有成本效益的实施&#xff0c;现在被广泛用作物理层技术。这些好处是以严格的…

Image Super-Resolution Using Deep Convolutional Networks-SRCNN

Some words&#xff1a; 这里是一些阅读文章的笔记&#xff0c;这篇文章是第一篇将深度学习应用于超分领域的文章&#xff0c;具有较为重要的意义。 &#xff08;一&#xff09;Abstract&#xff1a; 我们提出一个对于单图像超分的深度学习方法&#xff0c;端到端地学习高低分…

C语言编程:最小二乘法拟合直线

本文研究通过C语言实现最小二乘法拟合直线。 文章目录 1 引入2 公式推导3 C语言代码实现4 测试验证5 总结 1 引入 最小二乘法&#xff0c;简单来说就是根据一组观测得到的数值&#xff0c;寻找一个函数&#xff0c;使得函数与观测点的误差的平方和达到最小。在工程实践中&…

无线液位传感器VS有线液位传感器,优点在哪里?

无线技术在催生新行业诞生的同时&#xff0c;也在不断促使着很多传统设备做出新的改变&#xff0c;包括在工业领域中常用到的液位传感器。 无线液位传感器与有线液位传感器相比&#xff0c;最大的优点就在于使用方便。 在传输上做到无线&#xff1a;无线液位传感器可以选择两…

Acwing C++

756. 蛇形矩阵 题解&#xff1a; 蛇形矩阵走法&#xff1a;右 -> 下 ->左 ->上 坐标变化&#xff1a;(x2,y2) (x1,y1) (dx[d] dy[d]) d步数变化&#xff1a;d (d 1)%4 dx[4],dy[4] 分别用来存放xy偏移量&#xff0c;d初始值为0&#xff0c;在两种情况下会1&#…

OC调用Swift编写的framework

一、前言 随着swift趋向稳定&#xff0c;越来越多的公司都开始用swift来编写苹果相关的业务了&#xff0c;关于swift的利弊这里就不多说了。这里详细介绍OC调用swift编写的framework库的步骤 二、制作framework 1、新建项目&#xff0c;选择framework 2、填写framework的名称…