簡體   English   中英

HEAD和最后一次提交之間的git diff提供警告:忽略懸空的symref

[英]git diff between HEAD and last commit gives Warning: ignoring dangling symref

我在嘗試在HEAD和最后一次提交之間進行差異時得到一些奇怪的輸出

Fatal: ambiguous argument 'head^': unknown revision or path not in the working tree.
use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

使用git diff <sha> HEAD^ ,出現錯誤

warning: ignoring dangling symref head. warning: ignoring dangling symref head.
fatal: ambiguous argument 'head^': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

我錯過了什么嗎?

好吧,我認為這里可能有2個可能的原因

1)問題是,您正在嘗試做一個git diff <sha> head^

在這種情況下,您需要將命令更正為git diff <sha> HEAD^ 注意大寫字符。 看看這個問題,以了解有關HEAD更多信息。

2)您正在嘗試git diff <sha> HEAD^ ,但仍收到錯誤消息。 在這種情況下,我認為您的存儲庫中只有一次提交。 sha指向該單獨的提交時,您的HEAD也恰好指向該第一次提交,而HEAD^恰好指向該提交之前的提交,該提交不存在,因此出現錯誤。

這里的另一種可能性是上游有人在進行合並或git resetgit rebase創建了一個dangling symref (一個懸掛的對象 )。 應該通過執行git prune

暫無
暫無

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

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