1

背景:我使用的当前文本编辑器没有内置对 git 的支持。不过,它支持用户创建的插件,所以我制作了一个插件,用于在每次保存文件时自动提交到存储库。

尽管自动保存到存储库很简单,但提交消息目前不是很有用,它们只是将当前日期和时间与文本“自动保存”作为提交消息一起拍打。

在查看这种情况时,我认为了解文本编辑器如何处理让用户在每次保存文件时指定不同的提交消息(如果需要)可能会有所帮助。

问题:文本编辑器如何不显眼地允许用户指定非自动提交消息?用户是否会看到一个弹出对话框?编辑器是否提供了一个暂存缓冲区,它只充当提交消息的临时存储空间?有没有一种方法可以做到这一点而不会在一段时间后感觉像“唠叨屏幕”?

4

3 回答 3

2

每次保存文件时真的需要不同的信息吗?

大多数保存动作都是反射CTRL+S编辑过程的中间记录。
如果某个任务(错误修复、功能开发……)正在进行中,那么这些中间保存并不意味着带来很多新信息。如果系统提交,从 Git1.7 开始,这些提交应该只使用新fixup!操作作为注释。

这样,一旦完成了给定的任务,您就可以自动压缩所有这些提交,只保留第一个的注释,而忽略该文件的所有后续提交的注释。

git rebase --interactive --autosquash

请参阅Trimming GIT Checkins SO 问题。

于 2010-02-21T21:30:00.210 回答
1

这显然完全取决于你的编辑器。

Visual Studio/TFS 可能不是源代码控制的最佳环境,但恕我直言,这一方面处理得很好。他们有一个“待定更改”窗口,您可以在其中编写您的提交消息,并在不同的会话中记住它。

一种可能适用于您的情况的策略是简单地在某处保留一个固定的“commitmessage.txt”文件,您的自动提交命令可以使用该文件(并且可能在提交后清除)。

于 2010-02-21T20:32:20.450 回答
1

我认为您可以在不太聪明的情况下获得绝大多数您正在寻找的东西。附加组件的两条路径怎么样,一条是您当前使用通用自动保存提交消息描述的自动保存。

第二个“有意的”提交/保存,您作为用户正在请求提交条目的提交消息屏幕。这将是附加组件中的一个附加宏/热键/按钮,用于显式输入提交消息,其中“自动保存”功能就是自动保存。

跟踪并仅在有意保存和自动保存之间发生更改时自动保存。直截了当,并为您提供自动保存而无需 nag 屏幕,并且可以灵活地添加显式提交消息。

祝你好运。

于 2010-02-21T20:33:39.923 回答