1

私は主に SVN を使用していましたが、現在は Git 初心者です。私は MacBook Pro で "git svn" を使用して SVN リポジトリを操作していますが、リモートで作業しなければならないことがあり、オフィス ネットワークへの唯一のアクセスは、中間の Linux サーバーに SSH 接続してから Mac サーバーに SSH 接続した後です。 git-svn リポジトリのコピーもあるオフィス ネットワーク内。ポート転送が無効になっているため、MacBook Pro からリモートでオフィスの SVN に ssh トンネリングすることはできません。

今のところ、リモートで最新のコードを取得したいときは、リモートリポジトリを更新し、MacBook Pro にあるバージョンと最新のリビジョンとの差分をファイルにダンプし、中間サーバーを作成し、ローカル Git リポジトリのファイルにパッチを適用します。いくつかの bash/expect スクリプトを使用してプロセスをある程度自動化しましたが、リビジョン コメントはなく、Git を使用するすべての柔軟性はありません。

すべてのリビジョン情報を含む差分をファイルにダンプし、ftp してローカル Git リポジトリに適用する良い方法はありますか?

4

2 に答える 2

1

あなたがしたいgit bundle

abcd1234 がラップトップのリポジトリにある最新のコミットであるとしましょう。Git リポジトリがあるマシンで:

git bundle create myrepo.bundle abcd1234..master

それをラップトップにコピーして、次のようにします。

git pull /path/to/myrepo.bundle master

もちろん、ポート フォワーディングの設定を許可するよう IT 部門を説得したりnetcat、中間マシンで実行して自分で設定したりすることもできます。

于 2013-04-29T19:01:34.097 に答える