![](/img/trans.png)
[英]Git branch --merged / --no-merged and --squash option
[英]Why does git show “--merged” / “--no-merged” instead of branch names?
您的屏幕截圖(我已手動重新輸入,因此可能會引入各種錯誤)似乎顯示以下內容:
$ git branch
german
* master
newAutosuggest
release-candidate
release_v3.1.2
â<U+0080>-merged
â<U+0080>-no-merged
â<U+0080>-merged
-no-merged
帶有master
的行是綠色的(對於當前分支是正常的),帶有<U+0080>
的行以反色視頻打印了該部分,表明您的尋呼機已突出顯示它以暗示它是不可打印字符的擴展。
â
(Unicode 拉丁小寫字母 A WITH CIRCUMFLEX,U+00E2)字符和擴展的 U+0080 表示您有使用非 ASCII 字符的分支名稱。
名稱â<U+0080>-merged
和â<U+0080>-merged
在視覺上看起來相同,我將它們輸入為兩個相同的名稱,但這應該是不可能的。 在我看來,至少一個明顯的連字符-
字符實際上是一個破折號–
U+2013 字符。 這也可以解釋-no-merged
名稱的出現:如果至少前導連字符(可能還有兩個連字符)實際上是短划線字符,而不是連字符,它們將可用作 Git 分支名稱。
刪除這些名稱可能容易或困難,具體取決於您對 Unicode 的熟悉程度以及對生成正確 Unicode 字節序列的工具的訪問權限。 它還可能取決於您的操作系統是否實際使用Unicode。
如果所有其他方法都失敗了,請考慮直接“在 Git 的背后”工作,就像使用.git/refs/
目錄和/或單個文件.git/packed-refs
中的文件一樣。 如果您手動編輯這些打包參考文件,請務必小心:確保您的編輯器沒有將所有內容都轉換為 UTF-16-LE 編碼(Microsoft 最喜歡的),也沒有插入無意義的字節順序標記。
請注意,go 在 Git 背后的其他程序(直接進入存儲庫並在不詢問或通知 Git 的情況下更改內容)可以創建名稱包含無效連字符的分支。 如果發生這種情況,修復它的方法是再次在 Git 背后的 go 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.