簡體   English   中英

無法讓 git 自動通過管道將 diff/log 減少(Windows 上的 bash)

[英]Can't get git to automatically pipe diff/log to less (bash on windows)

基本上,我希望 git diff 和 git log 自動通過管道傳輸到 less,這樣我的提示就不會被代碼弄亂。

例如,當我運行“git diff”時,我得到以下輸出

WarriorPoet@JARVIS: /mnt/c/../Robot_one -> git diff
diff --git a/lib/movement/movement.cpp b/lib/movement/movement.cpp
index 523c2c1..3e323d6 100644
--- a/lib/movement/movement.cpp
+++ b/lib/movement/movement.cpp
@@ -1,6 +1,10 @@
// bunch
// of
// code
WarriorPoet@JARVIS: /mnt/c/../Robot_one -> _

我的全局 .gitconfig 具有以下內容:

[core]
   whitespace = cr-at-eol
   excludesfile = ~/.gitignore
   pager = less -R
[pager]
   diff = true

而且我沒有我知道的本地 .gitconfig 文件。

編輯:

運行'git config --global -l | grep尋呼機'

core.pager=less -R
pager.diff=true

並運行 'git config --local -l | grep pager' 不產生任何輸出,而 'git config --system -e' 為空。

我在 Windows 10 上的 Ubuntu 上運行 Bash。

如果您在要比較的存儲庫中,您可以使用以下命令檢查所有配置值(包括本地配置值)

git config -l

這將列出鍵值對。 您還可以使用以下方法過濾尋呼機值

git config -l | grep pager

查看是否有任何本地配置值覆蓋了您的全局配置值。

此外,如果您使用的是舊版本的 git(我相信低於 2.8) git config -l --show-origin將不起作用。 您可以使用,作為一種解決方法,

git config --system -e

git config --global -e

git config --local -e

使用配置文件打開配置的編輯器並找到位置。 例如,如果 Notepad++ 是您配置的編輯器,則文件位置將顯示在頂部。

我沒有我知道的本地.gitconfig文件。

您可以使用git config -l --show-origin

看看項目stevemao/diff-so-fancy是否對清理git diff感興趣。

然后,您可以使用 page 來管理其結果:

git config --global core.pager "diff-so-fancy | less --tabs=4 -RFX"

這給你:

git diff vs git diff --color | diff-so-fancy git diff --color | diff-so-fancy

https://cloud.githubusercontent.com/assets/39191/13622719/7cc7c54c-e555-11e5-86c4-7045d91af041.png

暫無
暫無

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

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