繁体   English   中英

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

[英]How to commit only a message to GIT?

假设我一直在一个分支上工作并提交了我的工作,但想在该分支的待办事项列表上的下一个内容的日志中添加一条消息。 我可能想要这样做的时间包括:

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

是否可以在不提交任何文件的情况下提交到 git? 任何其他方式来表达:是否可以只向 GIT 提交一条消息?

是的。 有可能的。 我永远不记得如何做到这一点,总是需要谷歌(所以我写了一个问答,希望这能帮助我记住)。

命令是:

git commit --allow-empty

--allow-empty的文档如下:

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

Doc 有道理,但不容易搜索。

您也可以考虑使用带注释的标签。 然后您可以稍后删除标签而无需重写历史记录。 对我来说,这比向历史添加空提交更有意义。

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

一旦不再需要:

git push origin :TODO-feature-foo

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

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

git commit --allow-empty --only ”(无路径规范)与脏索引应该是一种可以接受的方式来创建一个不改变任何路径的新提交,但它被禁止,也许是因为到目前为止没有人需要它。

参见提交beb635c (2016年12月9日),以及提交319d835 (2016年12月2日)由安德烈亚斯Krey( apk
(由Junio C gitster合并-- gitster -- in commit 3aead1c ,2016 年 12 月 19 日)

commit : make --only --allow-empty没有路径的工作

签字人:Andreas Krey
审核人:杰夫·金

--only在路径存在时隐含,除非--amend需要它们。
但是对于--allow-empty ,它也应该被允许:这是在存在分阶段更改的情况下创建空提交的唯一方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM