如何只向GIT提交一条消息?

时间:2013-09-18 17:57:29

标签: git

假设我一直在分支机构并且已经完成了我的工作但是想要 在分支的待办事项列表中接下来的内容的日志中添加消息。时 我可能想要这样做包括:

  • 切换分支以处理其他事情 - 需要提醒自己下一步该做什么
  • 周末
  • 其他

是否可以在不提交任何文件的情况下提交git?这样说的另一种方式:是否可以只向GIT提交一条消息?

3 个答案:

答案 0 :(得分:29)

是。有可能的。我永远不会记得如何做到这一点,并始终需要谷歌(所以我写了一个Q / A,希望这将有助于我记住)。

命令是:

git commit --allow-empty

--allow-empty的文档内容为:

  

通常记录与其唯一具有完全相同树的提交   父提交是一个错误,该命令阻止您进行   这样的提交。此选项绕过了安全性,主要用于   由外部SCM接口脚本使用。

Doc很有意义,但不容易搜索。

答案 1 :(得分:8)

您也可以考虑使用带注释的标签。然后,您可以在不必重写历史记录的情况下删除该标记。对我而言,这比在历史记录中添加空提交更有意义。

git tag -a TODO-feature-foo -m "next I'm going to..."
git push origin :TODO-feature-foo

不再需要:

git push origin :TODO-feature-foo

答案 2 :(得分:1)

注意:如果您已经暂存,但想要创建一个只有一条消息的空提交,那么您需要(使用Git 2.12,2017年第一季度):

git commit --only --allow-empty -m "my message"

commit beb635c(2016年12月9日)和commit 319d835(2016年12月2日)Andreas Krey (apk)Junio C Hamano -- gitster --合并于commit 3aead1c,2016年12月19日)

  

commit:make --only --allow-empty work without path

     路径存在时隐含

--only,除非--amend,否则需要它们   但是对于--allow-empty,它也应该被允许 - 这是在存在阶段性更改时创建空提交的唯一方法。