2012-09-08 91 views
4

git log即使「.git/logs/refs/heads」確實包含最近提交的日誌條目,也不會產生任何內容。即使日誌文件存在,爲什麼'git log'是空的?

系統:
我在我的ubuntu安裝中卸載並重新安裝了git。

Linux ap 3.0.0-17-generiC#30-Ubuntu SMP Thu Mar 8 20:45:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux 
+0

'git rev-list'是否提供任何輸出? – georgebrock

+0

你是否使用'less -F'作爲尋呼機命令?在某些平臺上,如果輸入足夠小以適合頁面,'less -F'不會輸出任何內容。刪除'-F'或添加'-X'解決了這個問題。如果你使用git log,會發生什麼? cat'? – Syncopated

回答

0

再次嘗試克隆你的回購協議,看看是否錯誤依然存在。

確保你沒有GIT_DIRGIT_WORK_TREE環境變量的定義,否則git日誌不會在你認爲它是git倉庫上運行。

確保沒有別名git,或(爲此事)沒有混帳別名「log」。

+0

.gitconfig以及常規別名沒有定義git或日誌,並且echo $ GIT_DIR $ GIT_WORK_TREE爲空 – saremapadhasa

+0

@ user530302另一個'git clone'產生同樣空的'git log'? – VonC

3

git log不涉及「.git/logs /」。讀取「.git/refs /」

git reflog讀取「.git/logs /」,這是爲了記錄分支尖端何時更新。

+0

以下是我的參考結構及其內容: ap refs#find 。 ./remotes ./remotes/origin ./remotes/origin/HEAD ./heads ./heads/master ./tags AP裁判#貓./remotes/origin/HEAD ./heads/master ref:refs/remotes/origin/master e239654193132ee1f030be82d895a695f8657df0 – saremapadhasa

5

我得到了同樣的錯誤。問題是,我在錯誤的位置在我.bashrc定義了默認尋呼機:

export PAGER=/usr/bin/more 

運行git log不會返回任何輸出。我將位置更改爲/bin/more並得到修復。

+0

它爲我工作。我跑了「哪個更多」,然後將PAGER設置到該目錄。 – James

+0

工作就像一個魅力 – sag

0

正如Diego Pino所說,問題可能是與git core.pager設置有關。

我正在寫這個,因爲我有同樣的問題,但案件是不同的。在按照提示設置git core.pager設置部分中的空值後,我失去了使用git log的可能性,我的意思是該命令的輸出爲空。此設置的目的是不使用任何尋呼機,只是將所有內容打印到stdout中,但出錯了。正是像這樣的.gitconfig

[core] 
    pager = " " 

的解決辦法是設置在.gitconfig全球一個core.pager設置(在你的用戶的主文件夾.gitconfig文件)或整個系統的情況下(在/ etc/gitconfig),分別爲:

git config --global core.pager more 

sudo git config --system core.pager more 

我更喜歡more作爲長輸出的尋呼機,但我的git安裝中的默認尋呼機是less - 選擇哪一個與您相關。

相關問題