Git提交没有提交消息
如何在不指定提交信息的情况下提交更改? 为什么默认需要?
git通常需要非空的消息,因为提供有意义的提交消息是好的开发实践和良好的存储库pipe理的一部分。 提交消息的第一行在git中遍布的地方使用; 有关更多信息,请阅读“关于Git提交消息的注意事项” 。
如果你打开Terminal.app, cd
到你的项目目录,然后git commit -am ''
,你会看到它失败了,因为不允许有空的提交信息。 较新版本的git有
--allow-empty-message
命令行参数,包括最新版本的Xcode附带的git版本。 这会让你使用这个命令来提交一个空的消息:
git commit -a --allow-empty-message -m ''
在--allow-empty-message
标志之前,你必须使用commit-tree
plumbing命令。 您可以在Git书籍 的“Raw Git”一章中看到使用此命令的示例。
如果你添加一个别名,那更好了吗?
git config --global alias.nccommit 'commit -a --allow-empty-message -m ""'
现在你只是做一个nccommit,nc因为没有评论,所有的东西都应该被提交。
在进行重要代码更新时,如果您确实需要中间安全点,则可以执行以下操作:
git commit -am'.'
或更短:
git commit -am.
注意: 从git1.8.3.2 (2013年7月)开始,下面的命令( Jeremy W Sherman 上面提到的 )不会再打开编辑器了:
git commit --allow-empty-message -m ''
见提交25206778aac776fc6cc4887653fdae476c7a9b5a :
如果用git commit的
-m
选项指定一个空的消息,那么编辑器就会启动。
这是意想不到的,没有必要
直接记住是否给出了选项-m
,而不是使用消息string的长度来检查用户是否指定了它。
git 2.9(2016年6月)改善了空的消息行为:
见Adam Dinwoodie( me-and
)的 提交178e814 (2016年4月6日) 。
见Jeff King( peff
)的 提交27014cb (2016年4月7日) 。
(由Junio C gitster
– gitster
合并-于2016年4月22日承诺0709261合并)
commit
:不要忽略-m ''
给出的空信息
- “
git commit --amend -m '' --allow-empty-message
“即使看起来很奇怪也是一个有效的请求来修改提交,根本没有任何消息。
由于在命令行中存在-m
的错误检测,我们最终将原始提交的日志信息保留下来。- “
git commit -m "$msg" -F file
”应该被拒绝,不pipe$msg
是否为空string,但是由于同样的错误,当$msg
为空时不会被拒绝。- 即使
$msg
为空,“git -c template=file -m "$msg"
”应该忽略该模板,但是它没有,而是使用模板文件中的内容。
我find了最简单的解决scheme:
git commit -am'save'
就是这样,你会围绕git commit消息的东西。
你甚至可以保存这个赞扬bash或其他的东西,使其更简单。
我们的团队成员总是写这些信息,但几乎没有人会再看到这些信息。
提交消息至less在我们的团队中是一个时间消耗的东西,所以我们忽略它。
你不需要git来完成这个。 创造性地使用bash函数就可以做到这一点。 如果你不关心消息,只需设置一个默认的,并忘记它。
function gitcom() { git commit -m "my default commit message" }
如果你感觉真的冒险,你可以添加,提交和推动一个命令
function gitzap() { git add . && git commit -m "whatevs" && git push $1 $2 }
然后你会运行
gitzap origin master
你甚至可以更深入的使用parse_git_branch来保存你自己的一些按键,或者设置一个默认的“origin”和“master”。
Git需要提交一个注释,否则它不会接受提交。
您可以使用git作为默认提交消息来configuration默认模板,或者可以在git中查找–allow-empty-message标志。 我认为(不是100%肯定)你可以重新configurationgit来接受空的提交消息(这不是一个好主意)。 通常情况下,每个提交应该是你的消息所描述的一点工作。
提交消息是应该始终遵循的最佳实践。 除非你是唯一的开发者,而且这个开发者不会马上改变。
git commit -a -m 'asdfasdfadsfsdf'