環境:centOS7
背景:公司代碼倉庫遷移,因而配置的jenkins自動打包git地址也要跟着變化。
問題描述:git clone http xxxx.git后報錯:
fatal: repository 'xxxx' not found
先說解決辦法:在hosts文件中把新的倉庫所在機器host配置上就可以了
nono /etc/hosts
然后是問題的解決過程:
出現這個錯誤,意思是說找不到倉庫地址
很奇怪會遇到這個問題,懷疑是地址不對,所以在其它機器(ubuntu/MAC)上試了git clone命令,結果正常克隆的。
也不是賬號權限的問題
試了網上找的各種辦法
第1種:
git remote set-url origin https://xxx@xxx/xxx/new_directory.git
結果:
[root@67 .ssh]# git remote set-url origin http://gitlab.xxxd.git
fatal: 沒有此遠程 'origin'
第2種:
git init
第3種:
配置ssh方式的,結果又說權限不對
很蒙圈,因為以前都是這么做的,並沒有報過錯。
於是問一下配管,她也是很蒙,但我們交談的過程中,(與人交流往往是解決問題的開始)
她知道我配置了host,說用http方式克隆代碼無須配置host,
我說如果不配置host,會無法解析域名
然后我給她看了我的host文件,她一眼看到host地址不對,於是報着試一試的心態,改了正確的host地址,就可以用git clone httpxxx的方式克隆代碼了
總結:
1.我很奇怪為何在其它電腦上使用git clone http方式clone代碼無須配置host,而在centOS就必須這樣做,難道是centOS安全級別很高嗎?
2.此問題是我掉到了自己的思維陷阱中:血淋淋的代價:3小時,思維陷阱是:以前都是這么配置的,沒有問題啊?
以前適用的經驗,隨着環境的變化,不一定會再適用的,切勿用以前的經驗恆量現在在做的事。否則代價就是會花更多時間來跳出自己的思維陷阱。
最后把我很喜歡的leader的批示放上來: