首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git commit <file>和git commit -only有什么区别?

git commit <file>和git commit -only有什么区别?
EN

Stack Overflow用户
提问于 2018-07-30 13:33:45
回答 2查看 2.3K关注 0票数 1

看起来这两个选项的作用是一样的。

也许他们之间有不同之处,我看不出来,因为我的英语阅读能力很差。

你能告诉我实情吗?

EN

回答 2

Stack Overflow用户

发布于 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时创建这样的空提交。

票数 2
EN

Stack Overflow用户

发布于 2018-07-30 14:04:48

git commit --从给定的文件中获取提交消息。在参数中,您应该输入想要从存储库获取的文件的名称。

git commit --only是git提交的默认操作模式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51587518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档