2017-01-26 12 views
3

GitのオリジナルブランチのリモートURLを変更しようとしています。変更したいのは、SSHポートだけです。まず、私のリモート起源を一覧表示することは私にこの与える:私は問題なく取得することができ、今GitのリモートURLの更新を変更すると、プッシュされますが、プッシュされません。

git remote set-url origin ssh://[email protected]:XX/package/name.git (XX is my port #) 

、それに私のブランチをプッシュ:次に

git remote -v 


origin [email protected]:package/name.git (fetch) 
origin [email protected]:package/name.git (push) 

を、私は私の原点URLを変更するにはset-urlのコマンドを実行しますプッシュURLが変更されていないため、元は機能しません。再び私のリモコンをリスト私はこれを取得:

git remote -v 


origin ssh://[email protected]:XX/package/name.git (fetch) 
origin [email protected]:package/name.git (push) 

なぜset-urlコマンドは、フェッチURLを変更しましたか? git-remoteマニュアルから

+0

をコマンドラインで '男のgit-remote'を入力した場合、あなたは簡単にこの情報を見つけることができます。これは 'man git-add'、' man git-push'などほぼすべてのgitコマンドで機能します。 – Conner

答えて

6

set-url 
     Changes URL remote points to. Sets first URL remote points to matching regex <oldurl> (first URL if no <oldurl> is given) to <newurl>. If <oldurl> doesn’t match any URL, 
     error occurs and nothing is changed. 

     With --push, push URLs are manipulated instead of fetch URLs. 

だから、さらに実行してください:

git remote set-url --push origin ssh://[email protected]:XX/package/name.git 
+0

これは機能しました。ありがとうございました。 – smilebomb

+0

これはうまくいっていませんが、なぜそれが両方とも更新されなかった理由を説明していません。 –

+2

@JackJames:そうですね、このコマンドはデフォルトでURLを取得するだけです。ドキュメントの正確な説明を見つけようとしていましたが、矛盾したブログ記事がいくつか見つかりました。 [this one](http://blog.yuriy.tymch.uk/2012/05/different-git-push-pullfetch-urls.html)ant [こちら](http://sushihangover.github.io/git) -set-up-a-fetch-only-remote /)。pushが設定されていない場合、フェッチがフォールバックとして使用されることを示します。私は、おそらく[ソースコード](https://github.com/git/git)を調べて調べる予定です。 –

関連する問題