2012-03-13 10 views
2

私は現在、私のマシンXからマシンYまでsshを要求しているプロジェクトに取り組んでいます。そこでgit pullを実行してコンパイルされたコードを取得して、で。gitで「プロキシ」を使用

Xに直接gitを使用したいと思いますが、Yが所属するローカルネットワークからコードを引き出すことができません。何とかプロキシとしてXを使用する方法があるので、私は自分のマシンでgitを直接使うことができ、自分自身に多くの面倒を節約できますか?

あなたはY上で実行されているのsshdを持っている場合は

+0

自分自身への注意:これは私の10000番目のスタックオーバーフローのupvoteでした。 – VonC

+0

私は光栄です;-) –

答えて

2

(私は途中で、Linuxディストリビューションを使用しています)(あなたはYsshすることができますし、操作を実行するため)、次のことができます。

そうすれば、上のよXに直接Yレポのクローンを取得し、変更を加え、必要に応じてYレポ(origin)にプッシュバックすることができます。

+0

注:Gitとsshプロトコル:http://progit.org/book/ch4-1.html#the_ssh_protocol – VonC

1

sshのプロキシ機能を使用できます。例えば、私は(名前が有罪:-)を保護するために隠さ)があります。

# tunneling 
Host *.secure2.com 
    ProxyCommand ssh secure1.local.com 'conn %h %p' 

「connの」私はそれがターゲットホスト/ポートのペアへの接続を行う必要があり、コマンドです。あなたはそれがあるならncコマンドを使うことができます。 ssh_configのマニュアルページ(通常はセクション5を参照)を参照してください。

1

あなたがマシンXにsshをするとき、私はちょうどマシンYにローカルポートを転送します:

ssh -L2022:Y:22 [email protected] 

を今すぐあなたのsshセッションを使用すると、別のローカルのシェルを使用して、マシンYに対してsshコマンドを実行することができます存在している間:

git clone ssh://[email protected]:2022/repos/Yrepo repo_from_Y 

もちろん、YからXにクローン/プルすると、Xをローカルマシンにクローン/プルすることができ、Xをプロキシミング中間体にすることができます。 XのクローンをYの裸のミラーにする場合は、cronジョブを追加して最新の状態に保つことができます。ローカル転送ポートを使用することは、本当に簡単で非常に柔軟です。

関連する問題