注: git-is-very-very-slow の質問を調査しましたが、その場合、その理由は大きなバイナリファイルでした-私のリポジトリにはPHP/JS/HTML/CSSのみのコードがあります(バイナリなし)、リポジトリ内の最大ファイルは約800 KBです。
1つのファイル(数行)を変更した後、git add .
およびgit commit -m "msg"
、次にgit Push Origin master
。
他のマシンでは、git pull Origin master
数MiBのデータをダウンロードし、デルタの計算と変更の適用に2分以上かかります。ここで何かがひどく間違っています。
最近のいくつかの操作がこれを引き起こす可能性があると思います:
最近、誤って多くのベンダー資産を追加しました(bower_components
資産)気づいたとき、git rm
リポジトリから削除します(そしてもちろん、git add
、git commit
およびgit Push
上流へ)
それは数日前で、私が今抱えている問題はその頃に起こり始めました。
2つの質問があります。
注:このレポを使用してプッシュするのは私だけです。
問題はEmberJS
appディレクトリにありました。 node_modules
およびbower_components
JSおよびCSSアセットを構築するためにGruntJS
によって使用されるサードパーティライブラリを保持するディレクトリ。
これらのそれぞれには多くのファイルとディレクトリが含まれていました。依存ツリーには、小さな(数個のファイル)から大きな太い(多くのファイル)までサイズが異なるライブラリが数百個含まれていることを考慮してください。
これらのディレクトリを削除して無視すると、gitリポジトリは再び高速に動作します。
同様の経験がありました-ローカルのMac OSXとLinux/Apacheサーバーの両方で、git pullとPushが突然極端に遅くなり、10分以上かかります。 Macでリポジトリのローカルコピーを削除し、クローンを再作成すると、正常に動作し始めました。サーバーで同じことをしましたが、すべてが順調です。私はそれが何らかの形で破損したと思いますか?
何千もの小さなファイルを扱っていたとき、私は同じ問題を抱えていました。私のためにそれを修正したのは、git repoの設定でポストバッファを設定することでした
git config http.postBuffer 524288000
18KB /秒でアップロードする代わりに、突然全帯域幅を使用しました