2010-02-21 91 views
1

背景:我使用不具有内置的Git支持目前的文本编辑器。不过,它支持用户创建的插件,所以我每次保存文件时都会自动提交到存储库。如何(悄悄)指定提交信息在编辑器/ IDE

虽然自动保存到存储库是直接的,提交信息目前不是非常有用,他们只是巴掌当前日期和时间作为提交信息文本“自动保存”。

在看这个情况下,我想这可能有助于找出文本编辑器如何处理让用户指定不同的每次保存文件(如果想)时提交信息的问题。

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

回答

1

我认为你可以得到你正在寻找的绝大多数而不是太聪明。如何使用附加组件的两个路径,一个自动保存,就像您目前使用通用自动保存提交消息所描述的那样。

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

当有意保存和自动保存发生变化时,保持跟踪并且仅自动保存。简单明了,让您可以自动保存,无需添加显示提交消息的灵活性。

祝你好运。

1

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

Visual Studio/TFS可能不是最好的源代码控制环境,但这一方面处理得相当好恕我直言。他们有一个“挂起更改”窗口,您可以在开发过程中编写提交信息,并在不同的会话中记住它。可能在你的情况下工作

一种策略就是保持一个固定的“commitmessage.txt”文件的地方,你的汽车-commit命令可以使用的(并且在提交之后也许清楚)。

2

你真的需要一个不同的消息每个一次保存文件?

大多数保存操作都是反射CTRL + S编辑过程的中间记录。
如果某个任务(缺陷修复,功能开发......)正在进行中,那些中间保存并不意味着会带来大量新信息。 如果系统地提交,这些提交应该从Git1.7转发,仅将新的fixup!操作用作注释。

这样一来,一旦给定的任务已经完成,你可以自动壁球所有这些提交保持第一位的只有评论,忽略该文件下列所有提交的意见。

git rebase --interactive --autosquash 

请参阅Trimming GIT Checkins SO问题。

+0

感谢crossref,我应该补充说,rebase在某些阵营中被压低了 – dreftymac 2010-02-21 21:40:15