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

Git版本差异:已暂存文件时创建空初始提交的问题咨询

Git 2.40.0中--allow-empty --only创建初始空提交的行为变更及解决方案

行为变更性质

这是有意的功能变更,属于Git 2.40.0对git commit --only逻辑的修正。此前版本中,--only在初始提交场景下未正确处理已暂存内容,导致即便暂存了文件,仍能生成空提交;新版本修复后,--only会遵循其设计初衷:若未指定具体路径,则提交当前暂存区的全部内容,此时--allow-empty的优先级被调整,不再忽略已暂存的文件。

已有文件暂存时创建空初始提交的方法

方法一:临时取消暂存后提交

先清空暂存区,创建空初始提交,之后可重新暂存文件:

# 初始化仓库、创建文件并暂存
git init test
cd test
touch readme.txt
git add .

# 取消暂存所有文件
git reset

# 创建空初始提交
git commit -m "initial commit" --allow-empty

# 重新暂存需要提交的文件(可选操作)
git add .

方法二:指定空路径强制生成空提交

通过指定空路径,让--only忽略暂存区内容,结合--allow-empty生成空初始提交:

git init test
cd test
touch readme.txt
git add .

# 创建空初始提交
git commit -m "initial commit" --allow-empty --only :/

内容的提问来源于stack exchange,提问作者Thomas S.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 20:52:44