Git Commit
最后更新
git commit 把你已暂存的更改作为一个新提交记录到项目历史中,并附上一条描述改动内容的信息。你需要先用 git add 暂存更改,再提交;也可以用 -am 一步完成已跟踪文件的暂存和提交。每个提交都是一个快照,之后可以随时回到那里。
在终端在线编辑器中试试这些命令:浏览器里就有一个真正的 shell,无需安装任何东西。
语法
| 命令 | 作用 |
|---|---|
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 课程也会一步步讲解暂存和提交。