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 gitstergitster合并-于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'