簡體   English   中英

IntelliJ的show diff總是與相同的舊git commit比較

[英]IntelliJ's show diff always compare with a same old git commit

我在IntelliJ中觀察到這是一個奇怪的問題。 show-diff總是將當前本地版本與git的舊提交(不是最新提交)進行比較。 理想情況下,應將其與最新提交進行比較。 如果文件是在該提交之后創建的,則錯誤為“不是有效的對象名稱”。 要繞過此問題,我必須右鍵單擊-> Git->比較,然后選擇最新版本。 任何線索可能是什么問題? 我試圖在IntelliJ項目文件夾中搜索此提交ID,但找不到任何提交ID。 還已將Git CMD更新到最新版本,但沒有緩解。

要顯示本地更改中文件的差異,IntelliJ會調用git log -n1 HEAD -- path/to/file以獲取最新修訂的哈希,然后使用git cat-file -p hash:path/to/file獲取文件內容。 后者是“無效對象名稱”錯誤的結果。

似乎HEAD由git錯誤地解決了,我對此表示懷疑,或者某些東西(例如Git Scope之類的第三方插件)改變了邏輯。

另一個可能的原因-一個棘手的嵌套Git回購,其中包括直到問題提交為止的歷史記錄。 在這種情況下,可能會從該存儲庫中請求Diff。

您可以檢查錯誤,並且IDE執行的所有命令都會啟用#git4idea.commands.GitHandler調試日志記錄(使用幫助-調試日志設置... )。

暫無
暫無

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

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