標籤:style blog http color io os 使用 ar for
發現按照git push 卡住去google,能搜到不少之前同行發的blog有提到,但貌似沒有解決的。這個問題在msysgit的最新版已經解決了,希望這個solution擴散出去。讓更多的程式猿同學看到。
=====================
啊啊啊,研究了兩天,終於找到solution了。。先仰天長嘯一會兒
=====================
項目組使用的server掛掉了,硬碟損毀,svn等好多內容不再可用,恢複無望。
雖然我們的代碼之前並未怎麼在上面放,但是前車之鑒,這個時候就體現除了git的高大上了。於是準備拋棄之前搭建的svn,搞個git。
在閑置的mac server上使用gitosis搭建,跑起了git daemon。使用ssh-gen來checkin,覺得好方便有木有!!!高大上有木有!!!
直到我在windows裡面掛掉了。。。
大概是這樣的(從原帖copy的):
git clone git://xxx.xxx/xxx.git
然後添加檔案,編輯,git add,commit,然後push,結果:
[master 9447645] test
1 file changed, 1 insertion(+)
Counting objects: 20, done.
Compressing objects: 100% (12/12), done.
Writing objects: 100% (18/18)
就此卡住不動,變更也沒有push進去。。。。進不去。。。不去。。。去。。。
還以為是自己開啟的方式不對,各種重試,重試,重試,換個姿勢,重試。。。結果,google吧(順便鄙視百度,毛也搜不出來),翻遍互連網終於等到你~還好我沒放棄。
windows的git工具,甭管是gui還是command tool,統統是基於msysgit的。而msysgit在實現上,有一點兒小瑕疵,查了萬千資料,發現這個問題,由於開源的貢獻者們太少太忙太不容易,耽誤了4年沒解決。據說是對什麼side-bind-64bit的支援不好導致的。what the hell! 誰曉得那是個啥。。。
搜遍了各種solution,有牛人在server端修改git的binary檔案,據說可以糊弄過關。但我不是在linux裡面搭建的git server,而是mac;也沒在binary檔案裡面找到那個要修改的string。
最後終於發現開源大牛們給出了一個解決辦法(為毛早沒發現啊,足足兩天啊。。。),在msysgit的最新版本1.9.4裡,可以通過一個設定來擺平:
在git的config裡面添加:
git config --global sendpack.sideband false
對我來講,it works fine.
從此git任我行。怎麼push怎麼酷炫。
媽媽再也不用擔心我的server掛掉了。一行代碼費了兩天牛勁,雖然感覺好像被耍了;但還是覺得挺充實的。
以上。
順便附上這個問題曠日持久的討論:
https://github.com/msysgit/git/issues/101#
再次感謝開源的大牛們
哦,對了,他們絕大部分看不懂中文: A BIG BIG THANK TO THE GUYS WHO IS WORKING FOR THE OPEN SOURCE PROJECTS!
[git] [已解決] 在windows系統上使用msysgit / git / tortoisegit,訪問git協議的倉庫時。git push會卡住沒反應。