Menu
CoddyTech

Git Commit

最后更新

git commit 把你已暂存的更改作为一个新提交记录到项目历史中,并附上一条描述改动内容的信息。你需要先用 git add 暂存更改,再提交;也可以用 -am 一步完成已跟踪文件的暂存和提交。每个提交都是一个快照,之后可以随时回到那里。

在终端在线编辑器中试试这些命令:浏览器里就有一个真正的 shell,无需安装任何东西。

git commit 把暂存区里的内容变成历史中一个新的永久提交。

语法

命令作用
git commit -m "message"带上提交信息,提交已暂存的更改
git commit -am "message"一步完成已跟踪文件的暂存和提交
git commit提交,并打开编辑器填写提交信息
git commit --amend编辑最近的一次提交
git commit -m "title" -m "body"提交时带上标题和较长的正文

常见用法

目标命令
提交所有已跟踪的文件git commit -am "message"
只提交已暂存的文件git commit -m "message"
修改上一次的提交信息git commit --amend
创建一个空提交git commit --allow-empty -m "msg"

Git commit 常见问题

如何在 Git 中提交更改?
用 git add <file> 暂存你想提交的更改(或者用 git add . 暂存全部),然后运行 git commit -m "your message"。这次提交会把已暂存更改的快照记录到历史中。要一步完成已跟踪文件的暂存和提交,使用 git commit -am "your message"。
git commit -m 和 -am 有什么区别?
-m 让你直接在命令中传入提交信息,这样 Git 就不会打开编辑器。-am 把 -a(暂存所有已修改和已删除的已跟踪文件)和 -m 结合起来,一条命令就完成暂存和提交。注意,-a 不包括全新的未跟踪文件,这些文件仍然需要明确地运行 git add。
如何写好提交信息?
先写一句简短的祈使句摘要(例如 "Add login validation"),控制在 50 个字符左右,然后可以空一行,再写正文说明为什么这样改。用第二个 -m 传入正文:git commit -m "Add login validation" -m "Prevents empty submissions",或者完全省略 -m,在编辑器里写。
如何修改上一次提交?
使用 git commit --amend。它会重新打开最近的一次提交,让你修改提交信息或补上忘记暂存的文件。不要修改已经推送的提交,因为这会改写历史,详见 git commit --amend 页面。
可以在线练习吗?
可以。打开终端在线编辑器,就能在浏览器里真正的 shell 中运行 git commit,无需安装任何东西。Coddy 免费的互动式 Git 课程也会一步步讲解暂存和提交。
Coddy 编程语言插图

在 Coddy 学习 Git

开始