You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用--porcelain选项时git commit未生效,是Bug还是使用误区?

为什么git commit加--porcelain选项后提交没生效?

这不是Git的Bug,是你对git commit的用法存在误解——--porcelain根本不是git commit的合法选项。

问题根源

--porcelain是git status的专属选项,作用是输出机器可读的简洁状态格式。当你把它加到git commit命令后,Git会将--porcelain当成要提交的路径参数处理:它会尝试查找名为--porcelain的文件,但这个文件不存在,因此Git实际没有执行任何提交操作,暂存区的README.md自然不会被提交。

你看到的输出M README.md,其实是Git解析错误时的意外反馈(对应你暂存区的文件状态),但这并不代表提交已经完成。

正确的操作方式

如果需要先查看机器可读的暂存状态,应该分开执行两条命令:

  1. 查看状态:git status --porcelain
  2. 执行提交:git commit -m "Update to readme"

你可以通过git commit --help查看git commit的所有合法选项,避免再混用其他命令的参数。

内容的提问来源于stack exchange,提问作者Zack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 21:05:25