Git命令详解

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.hqwc.cn/news/68936.html

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

相关文章

vim键盘图

国外&#xff1a;http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html&#xff0c;原创&#xff0c;有SVG图&#xff0c;有分步骤的图。 国内翻译&#xff1a;[https://blog.csdn.net/qq_41052753/article/details/101031847 有几个配色&#xff0c;很高清&…

Allegro172版本如何在联机模式下使用skill文件操作指导

Allegro172版本如何在Symphony模式下使用skill文件操作指导 在用Allegeo172版本进行PCB设计的时候,有时会用到Symphony模式进行多人实时在线协同设计,如下图 这个模式设计起来可以提升设计速度,但是也有一个缺陷,就是不能使用skill文件 如下图,当调用skill的时候就会出现…

SpringMVC拦截器

1.拦截器简介 拦截器&#xff08;Interceptor&#xff09;是一种动态拦截方法调用的机制&#xff0c;在SpringMVC中动态拦截控制器方法的执行 作用: 在指定的方法调用前后执行预先设定的代码 阻止原始方法的执行 总结&#xff1a;拦截器就是用来做增强 看完以后&#xff0…

Raspberry Pi Pico RP2040制作低成本FPGA JTAG工具

目录 1 准备工作和前提条件 1.1 Raspberry Pi Pico RP2040板子一个 1.2 xvcPico.uf2固件 1.3 Vivado USB驱动 2 操作指南 2.1 按住Raspberry Pi Pico开发板的BOOTSEL按键&#xff0c;再接上USB接口到电脑 2.2 刷入固件 2.3 Vivado USB 驱动 2.3.1 打开Zadig驱动工具 2.3…

江南大学计算机考研分析

24计算机考研|上岸指南 江南大学 江南大学计算机考研招生学院是人工智能与计算机学院。目前均已出拟录取名单。 江南大学人工智能与计算机学院成立于2020年3月&#xff0c;办学历史可追溯到1994年设立的计算机应用专业。学院秉持江南大学“彰显轻工特色&#xff0c;服务国计民…

开源数据库Mysql_DBA运维实战 (DML/DQL语句)

DML/DQL DML INSERT 实现数据的 插入 实例&#xff1a; DELETE 实现数据的 删除 实例&#xff1a; UPDATE 实现数据的 更新 实例1&#xff1a; 实例2&#xff1a; 实例3&#xff1a; DQL DML/DQL DML语句 数据库操纵语言&#xff1a; 插入数据INSERT、删除数据DELE…

ISIS技术(第三十七课)

1 分享一下华为官网上的一张地图 官网地址:https://support.huawei.com/hedex/hdx.do?docid=EDOC1000105967&id=ZH-CN_CONCEPT_0000001501534705 2 路由的分类 -直连路由 直接连接的路由,且配置了IP地址之后(在同一网段内),就是直连路由。 -非直连路由 -静态路由…

新能源汽车电控系统

新能源汽车电控系统主要分为&#xff1a;三电系统电控系统、高压系统电控系统、低压系统电控系统 三电系统电控系统 包括整车控制器、电池管理系统、驱动电机控制器等。 整车控制器VCU 整车控制器作为电动汽车中央控制单元&#xff0c;是整个控制系统的核心&#xff0c;也是…

通过网关访问微服务,一次正常,一次不正常 (nacos配置的永久实例却未启动导致)

微服务直接访问没问题&#xff0c;通过网关访问&#xff0c;就一次正常访问&#xff0c;一次401错误&#xff0c;交替正常和出错 负载均衡试了 路由配置检查了 最后发现nacos下竟然有2个order服务实例&#xff0c;我明明只开启了一个呀 原来之前的8080端口微服务还残留&…

lib调试报LNK2038 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”

最近用cef&#xff0c;要debug调试&#xff0c;引用库时&#xff0c;提示&#xff1a; LNK2038 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2” 研究后的结论&#xff1a;这是因为&#xff0c;这个库的实现方式太老&#xff1a; #if _HAS_ITERATOR_DEBUG…

使用Docker搭建MySQL主从复制(一主一从)

Docker安装MySQL docker pull mysql:5.7 docker images mysql安装步骤 1.新建主服务器容器实例3307 docker run -p 3307:3306 --name mysql-master -v /usr/local/docker/mysql5.7/data/mysql-master/logs:/var/log/mysql -v /usr/local/docker/mysql5.7/data/mysql-master/…

小程序-uni-app:hbuildx uni-app 安装 uni-icons 及使用

一、官方文档找到uni-icons uni-app官网 二、下载插件 三、点击“打开HBuildX” 四、选择要安装的项目 五、勾选要安装的插件 六、安装后&#xff0c;项目插件目录 根目录uni_modules目录下增加uni-icons、uni-scss 七、引入组件&#xff0c;使用组件 <uni-icons type&qu…