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

git commit

文章目录

  • 1.简介
  • 2.格式
  • 3.选项
  • 4.示例
  • 5.小结
  • 参考文献

1.简介

git commit 用于将工作区或暂存区的变更提交至仓库。

每次使用 git commit 都会在本地版本库通过 SHA1 生成一个40 位的哈希值,这个哈希值也叫 commit-id。commit-id 在版本回退的时候是非常有用的,它相当于一个快照,可以在未来任何时候通过 git reset 命令回退到指定版本。

2.格式

git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]
	   [--dry-run] [(-c | -C | --squash) <commit> | --fixup [(amend|reword):]<commit>]
	   [-F <file> | -m <msg>] [--reset-author] [--allow-empty]
	   [--allow-empty-message] [--no-verify] [-e] [--author=<author>]
	   [--date=<date>] [--cleanup=<mode>] [--[no-]status]
	   [-i | -o] [--pathspec-from-file=<file> [--pathspec-file-nul]]
	   [(--trailer <token>[(=|:)<value>])…​] [-S[<keyid>]]
	   [--] [<pathspec>…​]

3.选项

以下是一些常用选项及其说明:

-m, --message=<msg>
	用于直接在命令行中指定提交信息。
-a, --all
	自动将所有已跟踪的文件的更改和删除添加到提交中(不包括新文件)。
-v, --verbose
	在编辑器中显示更改的内容,便于查看哪些更改被提交。
--amend
	修改最新的提交,允许你添加新的更改或修改提交信息。
--no-edit
	在不启动编辑器的情况下使用选定的提交消息。例如与 --amend 一起使用,在不更改提交消息的情况下修改提交。
-F, --file=<file>
	从给定文件中获取提交消息。使用 - 从标准输入中读取消息。
--date=<date>
	手动指定提交的日期和时间。
--dry-run
	显示将要提交的内容,但不实际执行提交。
-h, --help
	查看帮助信息。

4.示例

(1)提交暂存区的变更到仓库并备注。

git commit -m <comment>

(2)将工作区被修改和被删除的文件,以及暂存区的变更提交至版本库并备注。必须要备注,不然无法提交。

git commit (-a | --all) -m <comment>

# 等同于
git add -u
git commit -m <comment>

注意,新加的文件(即没有被 Git 系统管理的文件)是不能被提交到本地仓库的。建议一般不要使用 -a | --all 参数,正常的提交过程还是先使用 git add 将被改动的文件添加到暂存区,再用 git commit 提交到本地版本库。

(3)修改最近一次提交的消息。

git commit --amend

上面的命令会打开编辑器以修改最近一次提交的消息。

修改完成后会生成一个新的提交对象,从而导致新的 commit id。这是因为 Git 将新的提交消息创建为一个新的提交对象,而不是修改原始的提交对象。

需要注意的是,使用 git commit --amend 命令修改提交消息时,只能修改最近的一次提交。如果需要修改更早的提交消息,可以使用 git rebase -i 命令来进行交互式重写历史。

(4)修改最近的一次提交的信息。

git commit --amend -m <new message>

这将替换掉最近一次提交的 message。如果你已经将这次提交推送到远程仓库,修改后需要强制推送:

git push --force

使用 --amend 参数,一般出于两种考虑:

  • 最近一次提交有 bug 需要修复,但又不想保留最近一次的提交记录。
  • 减少提交记录的数量,保持提交记录的干净整洁。

(5) 查看帮助。

commit 还有许多参数有其他效果,一般来说了解上述操作足以应对日常开发。

git commit -h | --help

5.小结

git commit 是 Git 中一个非常重要的命令,用于将已暂存的更改(staged changes)记录到版本历史中。

通过使用 git commit,开发者可以创建一个快照,保存代码的当前状态,并附上描述性的信息,以便将来追踪和理解代码更改的理由。


参考文献

Git - git-commit Documentation


http://www.kler.cn/a/401152.html

相关文章:

  • 百度智能云 VectorDB 优势数量 TOP 1
  • 解决Spring Boot整合Redis时的连接问题
  • STM32 创建一个工程文件(寄存器、标准库)
  • 通用定时器---输出比较功能
  • Uni-APP+Vue3+鸿蒙 开发菜鸟流程
  • Oracle OCP认证考试考点详解082系列19
  • 如何将几个音频合成一个音频?非常简单的几种合成方法
  • Pandas-5:数据分析与统计
  • MongoDB的常用命令(数据库操作、集合操作、文档操作)
  • CentOS 7.9 搭建本地Yum源
  • 汽车科技前沿:Spring Boot资讯快车道
  • 深入解析【C++多态】:探索面向对象编程中的动态绑定与行为多样性和多态的核心概念与应用实践
  • ubuntu24.04网卡配置
  • 大连理工大学概率上机作业免费下载
  • 嵌入式串口通信
  • 《网络风险及网络安全》培训总结
  • html5复习一
  • ospf实验
  • 【MYSQL】什么是关系型数据库与非关系型数据库?
  • Spring Boot图书馆管理系统:疫情中的管理利器
  • 【重生之我要苦学C语言】C语言内存函数
  • 面向服务的软件工程——面向过程的系统分析:流程挖掘(week10)
  • ssh隧道代理访问内网应用
  • K8S containerd拉取harbor镜像
  • 【WPF】Prism学习(七)
  • 《Camera-free Image to PanoramaGeneration with Diffusion Model》论文解析——CamFreeDiff