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.
相关产品推荐
相关产品推荐

