4

私のラップトップには git リポジトリがあり、GiHub にはリモート リポジトリがあります (「git clone」の実行時に作成される簡単な構成)。

SSH 転送プロトコルを使用しています。つまり、リモートアドレスは次のとおりです: git@github.com:MyName/MyProg.git

現在、ポート 23 がブロックされているネットワーク環境にいます (私が見る限り、ポート 80 と 443 のみが開いています)。サーバーで利用可能な最近の変更をフェッチ/マージする必要があります。私のオプションは何ですか?可能であれば、http プロトコルを使用して新しいリモート ブランチを作成することは避けたいと思います (これは基本的に、既に持っているリモート ブランチと同じです)。

4

4 に答える 4

3

.git/configファイルを直接編集するか、 または を使用して、ファイルgit config内の URL を必要な URL に簡単に変更できますgit remote set-url

ただし、新しいリモート ブランチを作成する必要はありません。つまり、別のリモートトラッキングブランチは必要ないということです。上記はトリックを行います。

代替 URL を指している別のリモートを持つことは問題ありません。次の方法で追加できます。

git remote add alternate https://github.com/account/repo.git

それがもたらす非効率性はありません。だから代わりに

git fetch 

あなたは今、どれを

git fetch origin

また

git fetch alternate

リモートには好きな名前を付けることができます。

と同じことgit push。必要に応じて指定し、指定しない場合はデフォルトを設定できます。

于 2013-07-04T17:39:44.417 に答える
0

代替プロトコル用の新しいリモートを追加

1 つのリポジトリに複数のリモートを設定できます。同じ基になるリポジトリを指している場合でも、別の URI スキームを使用して別のリモートを追加できます。たとえば、「alternate」という名前のリモートから master ブランチにプルするには:

git remote add alternate https://github.com/MyName/MyProg.git
git checkout master
git pull alternate master

基盤となるリポジトリは同じであるため、これが履歴に影響を与えることはありません。SSH プロトコルまたは HTTPS プロトコルのどちらを使用しても、履歴は同じです。

于 2013-07-04T17:47:27.390 に答える