【发布时间】:2013-03-29 21:41:59
【问题描述】:
我通常喜欢在查看 git diff 时输入我的 git 提交消息。
我非常喜欢this little perl add-on to git 生成的输出,并且从git diff 生成的输出看起来像这样(这是git log -p 的屏幕截图,但你明白了:
由于它突出显示了已更改的行的相应部分,因此很容易看出发生了什么变化。只是想分享它,因为它看起来不像很多人使用它,对我来说,它比使用外部单独的差异工具或类似的东西要好,因为它在终端上工作!总的来说,它也比vimdiff 更适合unix-pipe,尽管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 方法吗?
【问题讨论】:
-
在带有
vc-dir的Emacs 中,您可以在差异窗口中按g来更新其内容。 -
这很好,但我更像是一个 vim 用户;另外,要求输入更新并不令人满意。我想要一些可以轮询(不好!但很简单)或收到文件系统更新通知的东西
标签: linux macos git unix fswatch