2014-01-30 140 views
3

我正在使用Intellij和命令行Git,並且由於Git默認不顯示「無趣」更改,所以我們在沒有看到提交時遇到了問題。例如,如果開發者「A」改變某些內容並推動改變,則開發者「B」將其改變回原來的方式(在「A」的改變之前)並推動該改變,那些提交不會在歷史中表現出來,因爲他們會相互抵消(至少這是我向他解釋的方式)。這使得很難找到問題並導致很多「我的變化去哪了?」如何在Git中始終顯示完整歷史記錄?

理想情況下,Intellij和命令行都會顯示完整的歷史記錄,默認情況下每次提交包括合併。

任何人都知道在.gitconfig中完成此設置?

編輯:以下部分是從git-log documentation並解釋我所說的「無趣的變化」

默認模式 簡化的歷史解釋樹的最終狀態的最簡單的歷史的意思。最簡單的,因爲如果最終結果是相同的(即合併分支具有相同的內容),它會修剪一些分支。 - 完整歷史 與默認模式相同,但不修剪某些歷史記錄。

+0

「無趣的變化」是什麼意思? – iltempo

+3

由於您在日誌視圖中看到的內容,您如何失去提交? Git總是顯示我使用的每個工具中的所有提交。 – asm

+0

@AndrewMyers默認情況下,git-log排除「無趣提交」,意味着提交與父代相同。請參閱文檔中的「歷史簡化」:https://www.kernel.org/pub/software/scm/git/docs/git-log.html –

回答

2

要顯示完整的歷史與git log--sparse--full-history開關調用它。

 
--sparse 

    All commits that are walked are included. 

    Note that without --full-history, this still simplifies merges: if one of 
    the parents is TREESAME, we follow only that one, so the other sides of the 
    merge are never walked. 

注意,有沒有辦法specify default flags for git commands所以你必須爲你的命令行的git使用創建別名。我不知道IntelliJ支持這種設置爲git日誌。

+0

這很不幸,但也許有一天這可以在命令行和Intellij中配置。 – user3120173

+0

如果你們只是在你發佈的鏈接上滾動了一下,你會發現有一種方法可以指定自1.7.6版本以來git命令的默認標誌。 – Cole9350

+0

@ Cole9350請閱讀你參考的問答環節 - 版本1.7 .6功能是**特定於log.abbrevCommit而沒有別的**。它不適用於這裏討論的交換機。 – mockinterface

相關問題