我通常喜欢在查看 git diff 时输入我的 git commit 消息。
我非常喜欢这个小 perl add-on 到 git产生的输出,并产生看起来像这样的输出git diff
(这是一个截图,git log -p
但你明白了:
由于它如何突出显示已更改的行的相应部分,因此很容易看到发生了什么变化。只是想分享它,因为它看起来不像很多人使用它,而且对我来说,它比使用外部单独的差异工具或类似的东西要好,因为它可以在终端上运行!一般来说,它对 unix 管道更友好,而不是vimdiff
在vimdiff
紧要关头也很方便。
无论如何,show-and-tell 只是与这里的真正问题无关,也就是说,我可以设置一个终端窗口来显示 git diff,但是让它是动态的,这样当我保存一个文件它可以为我刷新git diff
吗?基本上,这个想法是让一个终端窗口实时显示我即将提交的确切更改,这样我就可以直接从我的文本编辑器切换到输入git commit
命令,同时阅读整个更改集,并且在 Linux 机器上也可以通过 SSH 实现这个工作流程。
那将是一个非常棒的工作流程,我认为一点 cmdline fu 可以让我到达那里,但我不确定从哪里开始。似乎 OS X 和 Linux 需要单独的实现。我发现fswatch可能对我有用,显然这类似于 Linux 上的 inotify-watch。我不应该只在我的 OS X 开发机器上设置它,但就像我之前提到的,通过 SSH 拥有这种功能将是史诗般的。
有没有其他快速而肮脏的 UNIXy 方法来解决这个问题?