

看起来这两个选项的作用是一样的。
也许他们之间有不同之处,我看不出来,因为我的英语阅读能力很差。
你能告诉我实情吗?
发布于 2018-07-30 14:08:53
答案就在您列出的文档片段中:
--only
通过获取命令行上指定的路径的更新后的工作树内容进行提交,而忽略为其他路径暂存的任何内容。如果在命令行上给出了任何路径,这是git commit的默认操作模式,在这种情况下,可以省略此选项。
当您在命令行中添加文件路径时,--only不会向命令中添加任何内容,并且您在问题中描述的第二个选项的语义也适用。
另一方面,正如--only描述的其余部分所解释的那样,如果它与--allow-empty的--amend一起使用,则索引的内容(暂存文件)将被忽略。
git commit --amend通过添加当前暂存的文件并更改其提交消息来修改当前提交。使用--only时,提交的内容不会被修改(暂存文件被忽略),只会更新提交消息。
我不清楚--only是如何改变git commit --allow-empty的行为的。
然而,--allow-empty在Git的日常工作中没有任何用处。添加它是为了帮助将其他VCS-es的存储库自动转换为Git。F.e.当创建分支时,Subversion会创建一个新的提交,该提交从Git的角度来看是空的。--allow-empty允许git-svn在将Subversion存储库转换为Git时创建这样的空提交。
发布于 2018-07-30 14:04:48
git commit --从给定的文件中获取提交消息。在参数中,您应该输入想要从存储库获取的文件的名称。
git commit --only是git提交的默认操作模式。
https://stackoverflow.com/questions/51587518
复制相似问题