git commit 命令

git commit 命令

基本语法

bash 复制代码
git commit [选项] -m "提交信息"

常见选项

  1. -m <message> 指定提交信息,用于描述本次提交的内容。
bash 复制代码
git commit -m "修复了登录界面的显示问题"
  1. -a 自动暂存所有被修改过的文件(未包括新建文件),然后进行提交。
bash 复制代码
git commit -a -m "修改了多个文件的样式"
  1. --amend 修改最后一次提交,包括提交信息或新增文件。适用于刚刚提交后发现遗漏内容的情况。
bash 复制代码
# 修改提交信息
git commit --amend -m "新的提交信息"

# 添加漏掉的文件
git add 漏掉的文件
git commit --amend
  1. -v--verbose

显示具体的变更内容,便于确认提交内容。

  1. --no-edit

--amend 配合使用,保留上一次的提交信息,而不打开编辑器修改。

  1. --dry-run

模拟提交过程,不实际执行提交操作,用于检查提交是否会成功。

bash 复制代码
git commit --dry-run -m "测试提交"
  1. --quiet

减少输出内容,安静模式。

  1. --message-file=<file>-F <file>

从指定文件中读取提交信息。

  1. --allow-empty

允许创建一个空提交(无实际更改)。常用于标记版本、测试或文档更新。

bash 复制代码
git commit --allow-empty -m "这是一个空提交"
  1. --signoff-s

在提交信息的末尾添加"签名",通常用于开源项目。

bash 复制代码
git commit -s -m "添加了新功能"

结果类似:

复制代码
添加了新功能

Signed-off-by: Your Name <your_email@example.com>
  1. --reset-author

重置提交的作者信息为当前用户,适用于接手他人提交的情况。

  1. --date

指定提交的日期。

bash 复制代码
git commit --date="2024-12-31T12:34:56" -m "指定日期提交"

提交步骤

  1. 查看当前状态

    使用 git status 查看有哪些文件需要提交。

    bash 复制代码
    git status
  2. 添加文件到暂存区

    使用 git add 将文件添加到暂存区。

    bash 复制代码
    git add 文件名
    git add .
  3. 提交更改

    使用 git commit 提交暂存区的更改。

    bash 复制代码
    git commit -m "提交描述"
  4. 查看提交历史

    使用 git log 查看提交记录。

    bash 复制代码
    git log

示例

提交特定文件

bash 复制代码
git add index.html
git commit -m "更新了主页的 HTML 内容"

修改上一次提交

bash 复制代码
git commit --amend -m "更新了提交信息"

创建空提交

bash 复制代码
git commit --allow-empty -m "标记为版本 1.0"

签名提交

bash 复制代码
git commit -s -m "修复了错误日志打印问题"

提交时显示变更内容

bash 复制代码
git commit -v -m "优化代码结构"

相关推荐
goodspeed2 天前
Git Worktree:多分支并行开发的利器
git·github
雮尘4 天前
让 AI Agent 高效并行开发的命令-git worktree
人工智能·git·agent
南果梨5 天前
OpenClaw 完整教程!从安装到使用(官方脚本版)
前端·git·开源
Selicens6 天前
git批量删除本地多余分支
前端·git·后端
闲云一鹤7 天前
Git LFS 扫盲教程 - 你不会还在用 Git 管理大文件吧?
前端·git·前端工程化
vibecoding日记9 天前
为什么我就想要「线性历史 + Signed Commits」,GitHub 却把我当猴耍 🤬🎙️
git·编程工具
程序员小崔日记10 天前
如何将代码轻松上传到 Gitee?Git 使用全攻略!
git·gitee·上传
Bigger11 天前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
DianSan_ERP11 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet