最近在一臺乾净的電腦裡面重新安裝了開發環境,git作爲版控工具肯定是首選要裝的工具之一。
環境准備好了之後,當然就是要clone專案下來開始開發,可是竟然出現了fatal: NulIReferenceException encountered. Object reference not set to an instance of an object.
太詭異了吧,用了git這麽多年還沒有遇到過這種問題,到底要怎麽處理呢?
問題描述
裝完了git之後,直接下git clone
(或者任何會和遠端repo做驗證的指令),出現fatal: NulIReferenceException encountered. Object reference not set to an instance of an object.
解決方式 - TL;DR
兩個方式(2則1即可):
- 把git降板 - 解除安裝git,然後在安裝Git for Windows 2.19.0(傳送門)
- 把git credential managers安裝1.18.1版本以上(傳送門) - 下載下來直接安裝即可
只要透過上面的兩個方式選擇一個就可以解決:
如果對於爲什麽發生有興趣可以繼續往下看。
爲什麽會壞掉?
從上面提到的兩個解決方式應該多多少少能夠猜到問題在那邊,沒錯就是git credential manager for windows這個工具的問題。
git for windows 2.19.1 所包含的credential manager版本有問題 - 這個問題導致了需要驗證帳號密碼的時候會出現Null Reference Exception
。
瞭解這個之後兩個解決方法就不難理解,1個是透過降git的版本 - 那個版本的credential manager是沒有問題。
另外一個解決方式就是透過升級credentials manager - 在 1.18.1版本以上這個問題就解決掉了。
結語
這篇提供的是git 2.19.1安裝之後和遠端repo驗證的時候出現Null reference Exception
的處理方式。
從另外一個角度也告訴我們,沒事別亂升級軟體,就算要升級也要瞭解一下到底升級了什麽,并且要有個概念這個軟體有包含什麽工具。因爲,很有可能壞掉的是軟體包含的其他工具而不是軟體本身。