我今天在 Windows 機器上看到了一個非常奇怪的問題,特別是:git push origin master會失敗并顯示類似于以下內容的訊息:
Unable to push to git://github.com/user/repo
Please use https://github.com/user/repo
很酷,所以我們嘗試了git remote set-url origin 'https://github.com/user/repo'。
當我們再次嘗試推送時,出現了一個新錯誤:
Unrecognized protocol 'https
奇怪的是,這個特殊錯誤的發生是因為命令提示符查看包裝引號的方式,所以它可能與 git 無關。
再次運行相同的命令,但沒有引號: git remote set-url origin https://github.com/user/repo
現在,驚喜!運行時git remote -v它應該在git://github.com/user/repo.
使用 GitHub for Desktop 時會發生確切的行為。以這種格式設定 https url 時:https://github.com/user/repo它會自動更改為git://github.com/user/repo.
我們通過切換到 ssh url 解決了這個問題,但這仍然是一個謎。
為什么會發生這種情況?如何除錯這個?
uj5u.com熱心網友回復:
Git 有一項功能,您可以通過將一組模式轉換為另一組模式來重寫 URL。這是url.*.insteadOf模式。
您可以運行git config -l --show-origin | grep insteadof以查看您的配置中是否有任何此類條目以及它們所在的檔案。如果有,您可以將它們從組態檔中洗掉,這應該會使事情按預期作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/396251.html
