1. 程式人生 > >記git升級版本之後出現fatal: NullReferenceException encountered問題

記git升級版本之後出現fatal: NullReferenceException encountered問題

code cred 可能 git工具 gin 最好 錯誤 目錄 null

問題緣由

因為實習的時候,公司要求將Git升級到最新版本,然後我就升級了。
這裏之前有一段小插曲:

因為最初下載Git的本地目錄是中文目錄,然後在webstorm裏面配置Git的路徑時最好是用英文的路徑,所以在本地就自己新建了一個英文的目錄,然後將中文目錄下的Git拷貝到英文目錄下。可能之前自己也沒太註意,webstorm裏面進行提交的時候,一直是用的英文目錄下的Git,然後命令行用的是中文目錄下的Git(因為環境變量配置是中文目錄)。不過這個應該也不沖突,因為我想的話,都是用的一個Git版本。就這樣順利地git用了兩個多月也沒什麽問題(一般做項目都是用webstorm裏面的Git工具)。

問題發生了

1.百度解決了一通:
今天升級了一下版本,然後項目做了一部分,想提交(用的是webstorm的git工具),先git commit,然後再git pull origin 遠程分支名的時候,一直卡住了,我以為是webstorm的速度慢問題,然後我重啟了webstorm,弄了很久還是卡住。我開始嘗試命令行,在執行git pull的時候出現了fatal: NullReferenceException encountered問題,然後我百度了一通,無意間執行了git config --global credential.helper manager,其實這個是解決Fatal: TaskCanceledException encountered這個問題。
2.百度解決不了,然後就重新卸載,然後安裝git
弄了很久還是不行,找了人來幫忙,重新生成SSH,然後添加到公司的git服務器上。最後還是不行。他把他電腦上的git config和我的比較了一下,發現credential.helper這個不一樣,就是因為我之前無意間改了。
3.最後將credential.helper改成store之後,出現了Couldn‘t find remote ref 遠程分支名這個問題
這個問題解釋就是找不到遠程分支名,才發現分支名打錯了。
4.最後修改分支名之後,就正常了,但是用命令行git pull的時候還是會提示fatal: NullReferenceException encountered這個,但是能成功pull。用webstorm的git命令就不會有這個問題提示。

總結來說

在解決問題的時候,要對癥下藥,不要想當然執行命令,不然可能會出現更多的錯誤。
關於git config --global credential.helper store這個命令,貼個鏈接https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%87%AD%E8%AF%81%E5%AD%98%E5%82%A8,這個就是講Git的憑證存儲。

“store” 模式會將憑證用明文的形式存放在磁盤中,並且永不過期。 這意味著除非你修改了你在 Git 服務器上的密碼,否則你永遠不需要再次輸入你的憑證信息。 這種方式的缺點是你的密碼是用明文的方式存放在你的 home 目錄下

記git升級版本之後出現fatal: NullReferenceException encountered問題