sshfs(Mac OS X 10,5,10.7)でgitを使用していますが、速度が遅すぎます。sshfsでのgitの使用が遅すぎる
gitコマンドを使用するたびに、リモートサーバdireclyにログインしました。
私はこの投稿をしようとしましたが、http://kerneltrap.org/mailarchive/git/2008/10/23/3768494しかし、それは動作しません。
いいアイデアは知っていますか?
sshfs(Mac OS X 10,5,10.7)でgitを使用していますが、速度が遅すぎます。sshfsでのgitの使用が遅すぎる
gitコマンドを使用するたびに、リモートサーバdireclyにログインしました。
私はこの投稿をしようとしましたが、http://kerneltrap.org/mailarchive/git/2008/10/23/3768494しかし、それは動作しません。
いいアイデアは知っていますか?
正しく理解していれば、sshfsを介してgitリポジトリに直接アクセスしています。
gitの全部が配布され、プッシュ/プルできるようになるので、なぜローカルfsにレポをクローンしないのですか? gitクローンはファイルシステムからも動作することを忘れないでください。 "ネットワーク化された"(ssh、http、gitなど)リポジトリからクローンを作成する必要はありません。
$ git clone /my_sshfs_mountpoint/repo
あなたはロックする準備が整いました。作業が完了したらgit push
を覚えておいてください。
上記のとおり、私のローカルマシンにクローンすることは可能です。しかし、リモートサーバは非常に複雑な環境を持っており、すべてのローカルマシンを作るのは本当に難しいです。だからsshfsはうまくいっているが、唯一のgitコマンドの速度が問題である。ありがとう。 – banyan
sshfs-mountできるのであれば、git cloneも実行できます。どこに問題があるのかわかりません。とにかく、それはあなたのスピードの問題の解決策ですので、2つのうちの1つ、すなわちクローンまたは忍耐を使用する必要があります。 – Luke404
@kyanny私はまだあなたがgitを悪用していると思います。それは分散システムであり、あなたはそれを "ローカル"(sshでリモートfsをマウントしてからgitを実行する)と主張しています。それはうまくいきません。あなたの編集内容が別の話である場合、gitはバージョン管理にのみ関連しています。あなたが "即時のリモート編集"をしたい場合は、sshfsを編集した後、リモートシステム上でgitを実行します(sshfs上ではローカルではありません)。 – Luke404
他のファイルシステムを選ぶこともできます。 SSHFSは主に便利なツールです。たとえば、MacOSはNFSマウントをサポートしています。これは高速です。
rsyncまたはunison( '双方向rsync'ツール)を使用する方法もあります。これらはリモートファイルシステムとローカルファイルシステムの間の本当に速い同期を行います。リモートでコンパイル/実行するためのいくつかの素早いシェルエイリアスと組み合わせて、素晴らしい回避策です。
もう一つの方法は、開発環境をVNC/X11上でリモートで実行することです。これにより、IDEはやや遅くなりますが、コードを同期させる必要はありません。
上記の組み合わせは、削除サーバーの仮想マシンクローンを作成し、ローカルボックスで実行し、VMまたはローカルNFSを介して2つの間でフォルダを共有することです。
また、sshfsを調整することもできます。いくつかのチューニング・マウント・オプションがあり、暗号化をオフにすることもできます。これは全体的に約2倍のスピードアップを提供するので、不思議を期待しないでください。
私は何年もの間解決策を探してきましたが、失敗しましたが、時々rsyncsと忍耐と相まって、微調整されたsshfsで不幸に解決しました。
ありがとう、user493759は私にかなり説得力のある答えを与えてくれます。私は双方向のrsyncツールやsshfsの暗号化も知らなかった。私はこれらの両方を試してみます。 – banyan
特になぜgitがとても遅いのですか?他のすべてはうまくいくようだが、 'git status 'は耐えられない。 –
Ceasar:git statusはチェックアウトされたすべてのファイルとリポジトリを比較して変更があったかどうかを調べるためです。これは、大量の小さなIOです。これは、sshfsが高いレイテンシのために本当に悪いことです。 –
これは非常に古くなっていますが、毎日この問題が発生しています。私は非常に複雑な環境を持っていて、事実上不可能であり、ローカルで再現するのは時間がかかります。私たちはどこにいてもサードパーティのAPIであるcPanel APIなどを使って作業しています。
私にとっては唯一の解決策は、sshfs上でローカルにファイルをマウントして作業することですが、gitを実行するときにターミナルウィンドウを開くだけですssh'dでこれは私のために働く。ターミナルを開けたくない/できない理由はありますか?それ以外の場合は、私にとって最速の解決策であり、最も信頼できると思われます。
それは私のやり方です。私が 'sshfs'マウントポイントで行うのは' pull'だけです。残りの部分はすべて別の 'ssh'セッションで行います。そのため、ローカルのgitはターゲットのファイルシステム上のローカルホストではなくコマンドを実行します。 – Gauthier
なぜローカルマシンにレポをクローンするだけではないのですか? –
コメントありがとうございました!もちろん、私のローカルマシンにクローンすることは可能です。しかし、リモートサーバは非常に複雑な環境を持っており、すべてのローカルマシンを作るのは本当に難しいです。だから、sshfsはうまくいっていますが、唯一の 'gitコマンド 'は問題です。 – banyan
私は似たような問題を抱えていますが、私もappletalk(Macからも)を使ってみました。しかし、私はこのセットアップで多くの奇妙な問題を抱えています... :(も私はrsyncの同期について考えました...あなたの問題の解決策を見つけましたか?もしそうなら、私はあなたがそれを共有するなら、 。 – aurora