我不知道如何更好地說這個。使git日誌產生命令輸出'inline'
當我運行任何git log命令時,它在它自己的'窗口'中產生一個輸出。我需要點擊q來回到提示,然後所有的日誌顯示都消失了。
有沒有什麼辦法可以產生'inline'日誌輸出,所以日誌輸出顯示後會出現提示?
我不知道如何更好地說這個。使git日誌產生命令輸出'inline'
當我運行任何git log命令時,它在它自己的'窗口'中產生一個輸出。我需要點擊q來回到提示,然後所有的日誌顯示都消失了。
有沒有什麼辦法可以產生'inline'日誌輸出,所以日誌輸出顯示後會出現提示?
原因的git log
輸出不留在終端歷史後git
退出是該尋呼機程序git
用來顯示其輸出發射escape sequences切換到備用顯示緩衝器以保持主緩衝器完好。這通常是一個有用的功能。
一些尋呼機允許禁用此緩衝器切換。例如,如果該尋呼機less
(默認一個在類Unix系統),你可以設置LESS
環境變量在你的shell配置文件:
export LESS="--no-init"
這將打開-X, --no-init
選項默認情況下,(然後可以通過命令行上的-+X
開關關閉)。其效果是git log
的輸出將被寫入主緩衝區,並因此停留在終端歷史記錄中。
如果尋呼機支持緩衝器切換,但沒有辦法關閉它,那麼唯一的解決方案就是不要使用這樣的尋呼機來輸出git log
。
切換尋呼機到別的東西:
$ git config --global core.pager less
或禁用分頁爲git log
:
$ git config --global pager.log false
甚至完全 - 每隔git
命令:
$ git config --global core.pager cat
當我 運行任何
git log
命令,它會在其自己的「窗口」中生成輸出。我需要打q回來提示
至於你的問題的一部分,我會說,你實際上並不希望輸出git log
的兆在終端瀉每你運行的時間是git log
。功能尋呼機爲您提供的功能通常非常有用:滾動,搜索,跳轉,更改文件,運行命令等。
你可能想要的是繞過尋呼機的短輸出。 git
不提供此功能,但有些傳呼機可以。例如,如果你使用less
,你可以在你的shell配置添加-F, --quit-if-one-screen
選項LESS
環境變量:
export LESS="--no-init --quit-if-one-screen"
這將使less
自動退出,如果整個輸出可以在一個屏幕上顯示。
你需要按q鍵,因爲輸出使用尋呼機。如果你不需要它,你可以在git和它的子命令之間添加'--no-pager'。例如'git --no-pager log'。 – ElpieKay
還(假設* nix中),如果你想'git的log'簡單地打印到'默認stdout',可以設置'core.pager'配置變量使用'cat'(而不是'less',這按默認值使用)。 IE瀏覽器。在全局gitconfig中設置配置變量,運行'git config --global core.pager cat'。 – Alderath
另外,如果該尋呼機'less',你可以設置LESS環境變量設置爲包含'-FX'('--quit - 如果一屏--no-init')選項。第一個選項可以讓你免受短輸出的'q'鍵(比如'git log -1'),第二個選項會在'less'退出後在標準輸出中使其「粘住」(這可能意味着通過顯示「一致」)。 – eush77