⑴ git clone github網站的倉庫提示無法連接ssh協議的ssh:connect to host github.com Connection time out
代理應該是可以鏈接的,但是需要伺服器分配才行,直接鏈接是不行的
⑵ git clone時報錯 提示 early EOF、The remote end hung up unexpectedly 、 index-pack failed等錯誤信息
Gitlab伺服器環境是CentOS7+Gitlab7.2.1,最近發現在開發機上使用git pull更新文件時,會報如下錯誤。
fatal: The remote end hung up unexpectedlyfatal: early EOFfatal: unpack-objects failed
使用git clone重新checkout源也受到影響,長時間checkout不出來,
Google了半天也沒找到個好辦法,最後還是查錯誤日誌定位到了問題
在/var/log/gitlab/unicorn/unicorn_stderr.log中,發現如下的錯誤信息
E, [2014-12-06T09:13:10.319216 #11074] ERROR -- : worker=0 PID:11091 timeout (31s > 30s), killingE, [2014-12-06T09:13:10.336186 #11074] ERROR -- : reaped #<Process::Status: pid 11091 SIGKILL (signal 9)> worker=0I, [2014-12-06T09:13:10.340379 #11183] INFO -- : worker=0 spawned pid=11183I, [2014-12-06T09:13:10.340848 #11183] INFO -- : worker=0 read
看來是被Ruby誤認為超時中斷了。解決辦法就是調大unicorn的timeout值。
修改/var/opt/gitlab/gitlab-rails/etc/unicorn.rb,將
# What the timeout for killing busy workers is, in secondstimeout 30
改為
# What the timeout for killing busy workers is, in secondstimeout 60
最後,運行
sudo systemctl restart gitlab-runsvdir.service
重啟Gitlab。
之後客戶端就可以正常Git pull或者clone了
⑶ 在另一台linux伺服器上,下載gitlab代碼顯示連接超時,是怎麼回事
Gitlab上拉代碼到另外一台linux伺服器上,舉個例子吧。以git@osc為例,直接在另一台伺服器上git clone url即可
⑷ git無法clone,請問如何解決
git無法clone,請問如何解決
1)JDK類庫中序列化API
java.io.ObjectOutputStream:表示對象輸出流
它的writeObject(Object obj)方法可以對參數指定的obj對象進行序列化,把得到的位元組序列寫到一個目標輸出流中。
java.io.ObjectInputStream:表示對象輸入流
它的readObject()方法源輸入流中讀取位元組序列,再把它們反序列化成為一個對象,並將其返回。
2)實現序列化的要求
只有實現了Serializable或Externalizable介面的類的對象才能被序列化,否則拋出異常。
⑸ ping雲伺服器ip有的反饋超時表示連接不穩定嗎
如果ping都反饋超時的話,表示伺服器的確不穩定,但是不一定是雲伺服器的問題,因為雲伺服器一般都是比較穩定的,除非你的伺服器在國外。
除了排查雲伺服器以外,你也要排查本地的網路,看本地的網路是否穩定。
另外你可以通過tracert route 命令去檢測到伺服器ip的路由跳轉情況,一般這種方法可以檢測出路由是否有問題,或者路由不優質,經常會導致線路不穩定。
⑹ git clone 太慢怎麼辦
步驟如下:
1. clone最新一個提交
```
$ git clone --depth=1 [email protected]:atom/atom.git
Cloning into 'atom'...
remote: Counting objects: 444, done.
remote: Compressing objects: 100% (359/359), done.
remote: Total 444 (delta 20), reused 264 (delta 8)
Receiving objects: 100% (444/444), 2.25 MiB | 7.00 KiB/s, done.
Resolving deltas: 100% (20/20), done.
Checking connectivity... done.
```
2. 更新獲取完整歷史版本
```
$ git fetch --unshallow
remote: Counting objects: 98400, done.
remote: Compressing objects: 100% (27919/27919), done.
remote: Total 98159 (delta 68929), reused 97823 (delta 68611)
Receiving objects: 100% (98159/98159), 236.07 MiB | 18.00 KiB/s, done.
Resolving deltas: 100% (68929/68929), completed with 175 local objects.
From github.com:atom/atom
dbe15f7..7cdaaf2 master -> origin/master
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 7 (delta 0), reused 7 (delta 0)
Unpacking objects: 100% (7/7), done.
* [new tag] v0.0.1 -> v0.0.1
* [new tag] v0.0.2 -> v0.0.2
...此處省略91行
* [new tag] v0.92.0 -> v0.92.0
* [new tag] v0.93.0 -> v0.93.0
* [new tag] v0.94.0 -> v0.94.0
```
期間也中斷過,和直接clone一樣,都不支持續傳。
下面的事實可以說明我這里速度有多慢:
unshallow後git status一看:
```
$ git st
On branch master
Your branch is behind 'origin/master' by 3 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
nothing to commit, working directory clean
```
⑺ git clone 太慢怎麼辦
Git 和 GitHub
的出現打開了開源世界的另一扇大門,版本控制變得更強大(也更復雜),項目的管理變得更加容易,項目的開發也變得更容易進行多人協作。GitHub
無疑是程序員的 Facebook
,在這里匯聚了無數世界頂級的項目以及頂級的程序員,你可以為你感興趣的項目加星(Star),可以關注任何人(Follow)以及他們的項目
(Watch),而且更贊的是,你可以復制一份別人項目的副本(Fork),來進行自己的修改,如果你願意的話,你還可以向項目的原作者發起請求
(Pull Request),將你做的修改合並到原項目中。這樣無論你是什麼人,來自不同的國家,擁有不同的技能,都可以對所有開源的項目作出貢獻。
盡管上面描述的開源世界如此美好,但是在大天朝,在牆內,你卻完全無法領略。因為當你訪問 GitHub 時,或者使用 git clone 興致勃勃的下載你感興趣的項目時,巨慢的速度將徹底擊毀你的信心,最終只好放棄表示玩不起。
強大的長城技術對 GitHub 網開一面,沒有像 Google 或 Facebook 這樣直接斬盡殺絕,但是對它做了嚴格的限速,這種折磨比直接斃了更痛苦( 有網友表示,有些地區速度很快,有些地區速度很慢,也有可能是和網路運營商有關 )。如上圖所示, git clone 的下載速度從來沒有超過 10KiB/s ,這也就意味著一個 100MiB 的項目,需要近三個小時才能下完,而且由於網路的不穩定性,下載過程中偶爾會出現斷開連接的情況,由於 git clone 不支持斷點續傳,這讓幾個小時的下載時間白白浪費掉,只能重新開始。
這篇文章將介紹幾種方法來快速從 GitHub 上下載代碼。
一、git shallow clone
git clone 默認會下載項目的完整歷史版本,如果你只關心最新版的代碼,而不關心之前的歷史信息,可以使用 git 的淺復制功能:
$ git clone --depth=1 https://github.com/bcit-ci/CodeIgniter.git
--depth=1 表示只下載最近一次的版本,使用淺復制可以大大減少下載的數據量,例如, CodeIgniter 項目完整下載有近 100MiB ,而使用淺復制只有 5MiB 多,這樣即使在惡劣的網路環境下,也可以快速的獲得代碼。如果之後又想獲取完整歷史信息,可以使用下面的命令:
$ git fetch --unshallow
或者,如果你只是想下載最新的代碼看看,你也可以直接從 GitHub 上下載打包好的 ZIP 文件,這比淺復制更快,因為它只包含了最新的代碼文件,而且是經過 ZIP 壓縮的。但是很顯然,淺復制要更靈活一點。
二、GUI 工具 + 代理
如果很有幸你正在使用代理,懂得如何翻牆的話,那麼訪問 GitHub 對你來說應該不在話下。下載 GitHub
上項目的最簡單的方法就是使用一款圖形化界面(GUI)的 Git 工具,這樣的工具現在比比皆是。使用 GUI
工具方便的地方在於,可以在設置中配置是否要使用代理,將你翻牆所使用的代理 IP 拿過來配置上就 OK 了,或者更直接的,將代理配置為系統代理。
三、git + http.proxy
如果你跟我一樣,喜歡使用原生的 git 命令,喜歡在命令行下操作的那種感覺,那麼也可以在命令行下直接配置 git 使用代理,當然前提一樣是,你懂得如何翻牆。
$ git config --global http.proxy http://proxyuser:[email protected]:8080
$ git config --global https.proxy https://proxyuser:[email protected]:8080
使用上面的命令配置完之後,會在 ~/.gitconfig 文件中多出幾行:
[http]
proxy = http://proxyuser:[email protected]:8080
[https]
proxy = https://proxyuser:[email protected]:8080
你也可以使用下面的命令檢查配置是否生效:
$ git config --global --get http.proxy
$ git config --global --get https.proxy
另外,如果你想取消該設置,可以:
$ git config --global --unset http.proxy
$ git config --global --unset https.proxy
配置完成後,重新 clone 一遍,可以看到速度得到了極大的提升!
題外話:在命令行中如何使用代理?
要注意的是使用 git config --global 配置的代理只能供 git 程序使用,如果你希望讓命令行中的其他命令也能自動使用代理,譬如 curl 和 wget 等,可以使用下面的方法:
$ export http_proxy=http://proxyuser:[email protected]:8080
$ export https_proxy=https://proxyuser:[email protected]:8080
這樣配置完成後,所有命令行中的 HTTP 和 HTTPS 請求都會自動通過代理來訪問了。如果要取消代理設置,可以:
$ unset http_proxy
$ unset https_proxy
還有一點要注意的是,使用 http_proxy 和 https_proxy 只對 HTTP 和 HTTPS 請求有效,所以當你 ping www.google.com 的時候如果 ping 不通的話,也就沒什麼大驚小怪的了。
題外話:如何使用 PAC 文件?
有時候我們會使用 git 訪問不同的 git 倉庫,譬如 GitHub,或者 Git@OSC, 或者你自建的 Git 伺服器,但是只想訪問 GitHub 的時候使用代理,訪問其他的倉庫不要使用代理。這時候我們似乎可以使用 PAC 來解決這個問題。 PAC (代理自動配置)正是用於瀏覽器來根據不同的 URL 自動採用不同的代理的一項技術,該文件包含一個 FindProxyForURL Javascript 函數,用於根據 URL 來返回不同的代理。
但是遺憾的是,目前 git 似乎還不支持 PAC 文件,但我們可以打開 PAC 文件找到代理的地址,然後通過上面的方法來配置或取消配置,只是有些繁瑣。 也許可以寫個腳本來解析 PAC 文件,並將 git 包裝下,來實現自動切換代理,有機會嘗試下。
⑻ 伺服器連接超時怎麼辦
有可能是你的網路不穩定,網速慢造成的,也有可能是伺服器的繁忙造成的
網速慢的幾種原因: 網路自身問題(伺服器帶寬不足或負載過大)
網線問題導致網速變慢(雙絞線不合規格,表現為:一種情況是剛開始使用時網速就很慢
另一種情況則是開始網速正常,但過了一段時間後,網速變慢)。
網路中存在迴路導致網速變慢。
網路設備硬體故障引起的廣播風暴而導致網速變慢。
網路中某個埠形成了瓶頸導致網速變慢。
蠕蟲病毒的影響導致網速變慢。
防火牆的過多使用。
系統資源不足。
網速慢主要是有以上的原因造成的,建議先清理一下電腦的垃圾進程,優化一下系統,還有木馬也可以掃描。
解決方法:
請換個時間段再上或者換個目標網站。
檢查雙絞線是否合格。
用分區分段逐步排除的方法,排除迴路故障。
DOS下用 「Ping」命令對所涉及計算機逐一測試,網卡、集線器以及交換機是最容易出故障引起網速變慢的設備。
更換伺服器網卡為100M或1000M、安裝多個網卡、劃分多個VLAN、改變路由器配置來增加帶寬等。
必須及時升級所用殺毒軟體;計算機也要及時升級、安裝系統補丁程序,同時卸載不必要的服務、關閉不必要的埠,以提高系統的安全性和可靠性。
⑼ 在使用git clone的時候,提示說fatal: HTTP request failed
有一種可能是你DNS解析的問題。
解決方案:
修改配置文件
#vim /etc/resolv.conf
nameserver 8.8.8.8
保存即可