簡體   English   中英

實時git diff

[英]Real-time git diff

我通常喜歡在查看git diff時鍵入我的git commit消息。

我非常喜歡這個小的perl附加到git產生的輸出,並從git diff生成看起來像這樣的輸出(這是git log -p的截圖,但你明白了:

在此輸入圖像描述

由於它如何突出顯示已更改的線條的相應部分,因此很容易看出發生了哪些變化。 只是想分享它,因為它看起來不像很多人使用它,對我來說,它打敗了使用外部單獨的差異工具或類似的東西,因為這適用於終端 它也比vimdiff更像unix-pipe-friendly,盡管vimdiff也非常方便。

無論如何,show-and-tell只與這里真正的問題相關,也就是說,我可以設置一個終端窗口,我有git diff顯示,但要讓它是動態的,這樣當我保存一個文件它可以為我刷新git diff 基本上我的想法是讓一個終端窗口作為我即將提交的確切更改的實時顯示,這樣我就可以直接從我的文本編輯器切換到輸入git commit命令同時讀取整個集合更改,並通過SSH在Linux機器上也可以使用此工作流程。

這將是一個非常棒的工作流程,我認為一點點cmdline fu可以讓我在那里,但我不確定從哪里開始。 看起來OS X和Linux需要單獨的實現。 我找到了可能對我有用的fswatch ,顯然這與Linux上的inotify-watch類似。 我不應該只在我的OS X dev機器上設置它,但是就像我之前提到的那樣,通過SSH獲得這種功能將是史詩般的。

有沒有其他快速和臟的UNIXy方法來解決這個問題?

你想要像“看git diff”這樣的東西。 “watch”命令重復運行命令並顯示輸出的第一頁。

您需要的不僅僅是輸出的第一頁,而且您不希望在更新時將其移動到輸出的頂部 - 您希望在滾動時始終在diff中查看相同的偏移量。

我沒有嘗試過,但您可以使用“screen”或“tmux”來提供大型虛擬屏幕。 (參見https://serverfault.com/questions/50772/is-there-a-paging-version-of-watch 。)

使用普通的內置git commit -v有什么問題, git commit -v顯示了在提交消息下提交的更改的完整差異? (並且Vim突出顯示這種差異,只需使用庫存設置。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM