Git的常用命令-Git高级命令-《Java笔记》

admin 2025-10-19 01:03:49 编程 来源:ZONE.CI 全球网 0 阅读模式

Git

高级命令

git submodule 子模块

有种情况经常会遇到:某个工作中的项目需要包含并使用另一个项目。也许是第三方库,或者独立开发的,用于多个父项目的库。现在问题来了:想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。如果将另外一个项目中的代码复制到自己的项目中,那么做的任何自定义修改都会使合并上游的改动变得困难。「Git 通过子模块来解决这个问题,允许将一个 Git 仓库作为另一个 Git 仓库的子目录。它能将另一个仓库克隆到自己的项目中,同时还保持提交的独立。」

  1. # 在主项目中添加子项目,URL 为子模块的路径,path 为该子模块存储的目录路径
  2. git submodule add [URL] [Path]
  3. # 克隆含有子项目的主项目
  4. git clone [URL]
  5. # 当在克隆这样的项目时,默认会包含该子项目的目录,但该目录中还没有任何文件
  6. # 初始化本地配置文件
  7. git submodule init
  8. # 从当前项目中抓取所有数据并检出父项目中列出的合适的提交-更新子模块
  9. git submodule update
  10. # 等价于 git submodule init && git submodule update
  11. git submodule update --init
  12. # 自动初始化并更新仓库中的每一个子模块, 包括可能存在的嵌套子模块
  13. git clone --recurse-submodules [URL]

git gc-运行Git的垃圾回收功能,清理冗余的历史快照

运行Git的垃圾回收功能,清理冗余的历史快照

git archive-将加了tag的某个版本打包提取

将加了tag的某个版本打包提取

  1. git archive -v --format=zip v0.1 > v0.1.zip

--format 表示打包的格式,如 zip-v 表示对应的tag名,后面跟的是tag名,如 v0.1

git fetch-将远程版本库的更新取回到本地版本库

  1. # 默认情况下,git fetch 取回所有分支的更新。如果只想取回特定分支的更新,可以指定分支名。
  2. $ git fetch origin daily/0.0.1

问题排查

git blame-查看文件每行代码块的历史信息

  1. # 查看文件每行代码块的历史信息
  2. $ 截取 demo.html 文件1-10行历史信息

git bisect-二分查找历史记录,排查BUG

  1. # 开始二分查找
  2. $ git bisect start
  3. # 标记当前二分提交ID为有问题的点
  4. $ git bisect bad
  5. # 标记当前二分提交ID为没问题的点
  6. $ git bisect good
  7. # 查到有问题的提交ID后回到原分支
  8. $ git bisect reset
以太坊cppgolang区别 编程

以太坊cppgolang区别

以太坊是一种去中心化的开源平台,它采用智能合约技术,旨在构建和运行不受干扰的分布式应用程序。作为目前最受欢迎的区块链平台之一,以太坊提供了多种编程语言的支持,其
progolang 编程

progolang

Go语言(Golang)是由Google开发的一门静态类型编程语言。作为一名专业的Golang开发者,我深知这门语言的优势和特点。在本文中,我将介绍Golang
golangn个发送者 编程

golangn个发送者

Golang是一种开源的编程语言,由Google团队开发,旨在提高程序的并发性和简化软件开发过程。在Go语言中,有时需要向多个接收者发送信息。本文将介绍如何在G
golang技能图谱 编程

golang技能图谱

从互联网行业的快速发展到人工智能技术的日益成熟,各种编程语言也应运而生。而在这众多的编程语言中,Golang(即Go)作为一门强大且高效的开发语言备受关注。Go
评论:0   参与:  4